Control Flow Analysis for Recursion Removal View Full Text


Ontology type: schema:Chapter     


Chapter Info

DATE

2003

AUTHORS

Stefaan Himpe , Francky Catthoor , Geert Deconinck

ABSTRACT

In this paper a new method for removing recursion from algorithms is demonstrated. The method for removing recursion is based on algebraic manipulations of a mathematical model of the control flow. The method is not intended to solve all possible recursion removal problems, but instead can be seen as one tool in a larger tool box of program transformations. Our method can handle certain types of recursion that are not easily handled by existing methods, but it may be overkill for certain types of recursion where existing methods can be applied, like tail-recursion. The motivation for a new method is discussed and it is illustrated on an MPEG4 visual texture decoding algorithm. More... »

PAGES

101-116

Book

TITLE

Software and Compilers for Embedded Systems

ISBN

978-3-540-20145-8
978-3-540-39920-9

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/978-3-540-39920-9_8

DOI

http://dx.doi.org/10.1007/978-3-540-39920-9_8

DIMENSIONS

https://app.dimensions.ai/details/publication/pub.1043271350


Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
Incoming Citations Browse incoming citations for this publication using opencitations.net

JSON-LD is the canonical representation for SciGraph data.

TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

[
  {
    "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
    "about": [
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0102", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Applied Mathematics", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/01", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Mathematical Sciences", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "KU Leuven", 
          "id": "https://www.grid.ac/institutes/grid.5596.f", 
          "name": [
            "Katholieke Universiteit Leuven, Kasteelpark Arenberg 10, 3001, Leuven"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Himpe", 
        "givenName": "Stefaan", 
        "id": "sg:person.012552320653.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012552320653.93"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Interuniversity Microelectronics Centre", 
          "id": "https://www.grid.ac/institutes/grid.15762.37", 
          "name": [
            "IMEC, Kapeldreef 75, 3001, Leuven"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Catthoor", 
        "givenName": "Francky", 
        "id": "sg:person.014315547402.83", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014315547402.83"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "KU Leuven", 
          "id": "https://www.grid.ac/institutes/grid.5596.f", 
          "name": [
            "Katholieke Universiteit Leuven, Kasteelpark Arenberg 10, 3001, Leuven"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Deconinck", 
        "givenName": "Geert", 
        "id": "sg:person.01022745130.75", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.01022745130.75"
        ], 
        "type": "Person"
      }
    ], 
    "citation": [
      {
        "id": "https://app.dimensions.ai/details/publication/pub.1005737360", 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://app.dimensions.ai/details/publication/pub.1005737360", 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/359576.359579", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1011956763"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/3-540-15198-2_5", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1022350599", 
          "https://doi.org/10.1007/3-540-15198-2_5"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/176454.176510", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1023530163"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1017/s0956796897002943", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1038951594"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1017/s0956796897002943", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1038951594"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/328691.328700", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1040292218"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://app.dimensions.ai/details/publication/pub.1044971634", 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-1-4757-2849-1", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1044971634", 
          "https://doi.org/10.1007/978-1-4757-2849-1"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-1-4757-2849-1", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1044971634", 
          "https://doi.org/10.1007/978-1-4757-2849-1"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-3-642-61512-2", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1052829590", 
          "https://doi.org/10.1007/978-3-642-61512-2"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-3-642-61512-2", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1052829590", 
          "https://doi.org/10.1007/978-3-642-61512-2"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.21236/ad0406138", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1091991441"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1109/sips.2003.1235677", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1094356782"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/328690.328700", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1098839168"
        ], 
        "type": "CreativeWork"
      }
    ], 
    "datePublished": "2003", 
    "datePublishedReg": "2003-01-01", 
    "description": "In this paper a new method for removing recursion from algorithms is demonstrated. The method for removing recursion is based on algebraic manipulations of a mathematical model of the control flow. The method is not intended to solve all possible recursion removal problems, but instead can be seen as one tool in a larger tool box of program transformations. Our method can handle certain types of recursion that are not easily handled by existing methods, but it may be overkill for certain types of recursion where existing methods can be applied, like tail-recursion. The motivation for a new method is discussed and it is illustrated on an MPEG4 visual texture decoding algorithm.", 
    "editor": [
      {
        "familyName": "Krall", 
        "givenName": "Andreas", 
        "type": "Person"
      }
    ], 
    "genre": "chapter", 
    "id": "sg:pub.10.1007/978-3-540-39920-9_8", 
    "inLanguage": [
      "en"
    ], 
    "isAccessibleForFree": false, 
    "isPartOf": {
      "isbn": [
        "978-3-540-20145-8", 
        "978-3-540-39920-9"
      ], 
      "name": "Software and Compilers for Embedded Systems", 
      "type": "Book"
    }, 
    "name": "Control Flow Analysis for Recursion Removal", 
    "pagination": "101-116", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1043271350"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/978-3-540-39920-9_8"
        ]
      }, 
      {
        "name": "readcube_id", 
        "type": "PropertyValue", 
        "value": [
          "ce1db829c2a0935915ff921415ed95f38c12837b2aabdeb45372f3799fe45d70"
        ]
      }
    ], 
    "publisher": {
      "location": "Berlin, Heidelberg", 
      "name": "Springer Berlin Heidelberg", 
      "type": "Organisation"
    }, 
    "sameAs": [
      "https://doi.org/10.1007/978-3-540-39920-9_8", 
      "https://app.dimensions.ai/details/publication/pub.1043271350"
    ], 
    "sdDataset": "chapters", 
    "sdDatePublished": "2019-04-16T08:04", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-uberresearch-data-dimensions-target-20181106-alternative/cleanup/v134/2549eaecd7973599484d7c17b260dba0a4ecb94b/merge/v9/a6c9fde33151104705d4d7ff012ea9563521a3ce/jats-lookup/v90/0000000359_0000000359/records_29212_00000002.jsonl", 
    "type": "Chapter", 
    "url": "https://link.springer.com/10.1007%2F978-3-540-39920-9_8"
  }
]
 

Download the RDF metadata as:  json-ld nt turtle xml License info

HOW TO GET THIS DATA PROGRAMMATICALLY:

JSON-LD is a popular format for linked data which is fully compatible with JSON.

curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/978-3-540-39920-9_8'

N-Triples is a line-based linked data format ideal for batch operations.

curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/978-3-540-39920-9_8'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/978-3-540-39920-9_8'

RDF/XML is a standard XML format for linked data.

curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/978-3-540-39920-9_8'


 

This table displays all metadata directly associated to this object as RDF triples.

119 TRIPLES      23 PREDICATES      39 URIs      20 LITERALS      8 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/978-3-540-39920-9_8 schema:about anzsrc-for:01
2 anzsrc-for:0102
3 schema:author Ne5db742628be48d282d67cca141c3c05
4 schema:citation sg:pub.10.1007/3-540-15198-2_5
5 sg:pub.10.1007/978-1-4757-2849-1
6 sg:pub.10.1007/978-3-642-61512-2
7 https://app.dimensions.ai/details/publication/pub.1005737360
8 https://app.dimensions.ai/details/publication/pub.1044971634
9 https://doi.org/10.1017/s0956796897002943
10 https://doi.org/10.1109/sips.2003.1235677
11 https://doi.org/10.1145/176454.176510
12 https://doi.org/10.1145/328690.328700
13 https://doi.org/10.1145/328691.328700
14 https://doi.org/10.1145/359576.359579
15 https://doi.org/10.21236/ad0406138
16 schema:datePublished 2003
17 schema:datePublishedReg 2003-01-01
18 schema:description In this paper a new method for removing recursion from algorithms is demonstrated. The method for removing recursion is based on algebraic manipulations of a mathematical model of the control flow. The method is not intended to solve all possible recursion removal problems, but instead can be seen as one tool in a larger tool box of program transformations. Our method can handle certain types of recursion that are not easily handled by existing methods, but it may be overkill for certain types of recursion where existing methods can be applied, like tail-recursion. The motivation for a new method is discussed and it is illustrated on an MPEG4 visual texture decoding algorithm.
19 schema:editor Ncdfedc8e00694b4eafefe1298f02e1ec
20 schema:genre chapter
21 schema:inLanguage en
22 schema:isAccessibleForFree false
23 schema:isPartOf Nb6235d4b127140d59b660c97e0e178c0
24 schema:name Control Flow Analysis for Recursion Removal
25 schema:pagination 101-116
26 schema:productId N431623b3364746669911b214f71cba2b
27 N710c34813112460fa8db021e16457e0c
28 Nc8fb9bf667f0485c86c3ab2d67e24386
29 schema:publisher Nf0b4cf53b3764712a6d96fcc930a9a52
30 schema:sameAs https://app.dimensions.ai/details/publication/pub.1043271350
31 https://doi.org/10.1007/978-3-540-39920-9_8
32 schema:sdDatePublished 2019-04-16T08:04
33 schema:sdLicense https://scigraph.springernature.com/explorer/license/
34 schema:sdPublisher Ne96fc54453604641b0f84a84e4dd94c6
35 schema:url https://link.springer.com/10.1007%2F978-3-540-39920-9_8
36 sgo:license sg:explorer/license/
37 sgo:sdDataset chapters
38 rdf:type schema:Chapter
39 N431623b3364746669911b214f71cba2b schema:name readcube_id
40 schema:value ce1db829c2a0935915ff921415ed95f38c12837b2aabdeb45372f3799fe45d70
41 rdf:type schema:PropertyValue
42 N485b1be913ee469cb3eff2e12193373b schema:familyName Krall
43 schema:givenName Andreas
44 rdf:type schema:Person
45 N6a8bb25022224c15b2e1a2dd4304b813 rdf:first sg:person.01022745130.75
46 rdf:rest rdf:nil
47 N710c34813112460fa8db021e16457e0c schema:name doi
48 schema:value 10.1007/978-3-540-39920-9_8
49 rdf:type schema:PropertyValue
50 Nafd2843ffd2a47a79ce5e84245788b1d rdf:first sg:person.014315547402.83
51 rdf:rest N6a8bb25022224c15b2e1a2dd4304b813
52 Nb6235d4b127140d59b660c97e0e178c0 schema:isbn 978-3-540-20145-8
53 978-3-540-39920-9
54 schema:name Software and Compilers for Embedded Systems
55 rdf:type schema:Book
56 Nc8fb9bf667f0485c86c3ab2d67e24386 schema:name dimensions_id
57 schema:value pub.1043271350
58 rdf:type schema:PropertyValue
59 Ncdfedc8e00694b4eafefe1298f02e1ec rdf:first N485b1be913ee469cb3eff2e12193373b
60 rdf:rest rdf:nil
61 Ne5db742628be48d282d67cca141c3c05 rdf:first sg:person.012552320653.93
62 rdf:rest Nafd2843ffd2a47a79ce5e84245788b1d
63 Ne96fc54453604641b0f84a84e4dd94c6 schema:name Springer Nature - SN SciGraph project
64 rdf:type schema:Organization
65 Nf0b4cf53b3764712a6d96fcc930a9a52 schema:location Berlin, Heidelberg
66 schema:name Springer Berlin Heidelberg
67 rdf:type schema:Organisation
68 anzsrc-for:01 schema:inDefinedTermSet anzsrc-for:
69 schema:name Mathematical Sciences
70 rdf:type schema:DefinedTerm
71 anzsrc-for:0102 schema:inDefinedTermSet anzsrc-for:
72 schema:name Applied Mathematics
73 rdf:type schema:DefinedTerm
74 sg:person.01022745130.75 schema:affiliation https://www.grid.ac/institutes/grid.5596.f
75 schema:familyName Deconinck
76 schema:givenName Geert
77 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.01022745130.75
78 rdf:type schema:Person
79 sg:person.012552320653.93 schema:affiliation https://www.grid.ac/institutes/grid.5596.f
80 schema:familyName Himpe
81 schema:givenName Stefaan
82 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012552320653.93
83 rdf:type schema:Person
84 sg:person.014315547402.83 schema:affiliation https://www.grid.ac/institutes/grid.15762.37
85 schema:familyName Catthoor
86 schema:givenName Francky
87 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014315547402.83
88 rdf:type schema:Person
89 sg:pub.10.1007/3-540-15198-2_5 schema:sameAs https://app.dimensions.ai/details/publication/pub.1022350599
90 https://doi.org/10.1007/3-540-15198-2_5
91 rdf:type schema:CreativeWork
92 sg:pub.10.1007/978-1-4757-2849-1 schema:sameAs https://app.dimensions.ai/details/publication/pub.1044971634
93 https://doi.org/10.1007/978-1-4757-2849-1
94 rdf:type schema:CreativeWork
95 sg:pub.10.1007/978-3-642-61512-2 schema:sameAs https://app.dimensions.ai/details/publication/pub.1052829590
96 https://doi.org/10.1007/978-3-642-61512-2
97 rdf:type schema:CreativeWork
98 https://app.dimensions.ai/details/publication/pub.1005737360 schema:CreativeWork
99 https://app.dimensions.ai/details/publication/pub.1044971634 schema:CreativeWork
100 https://doi.org/10.1017/s0956796897002943 schema:sameAs https://app.dimensions.ai/details/publication/pub.1038951594
101 rdf:type schema:CreativeWork
102 https://doi.org/10.1109/sips.2003.1235677 schema:sameAs https://app.dimensions.ai/details/publication/pub.1094356782
103 rdf:type schema:CreativeWork
104 https://doi.org/10.1145/176454.176510 schema:sameAs https://app.dimensions.ai/details/publication/pub.1023530163
105 rdf:type schema:CreativeWork
106 https://doi.org/10.1145/328690.328700 schema:sameAs https://app.dimensions.ai/details/publication/pub.1098839168
107 rdf:type schema:CreativeWork
108 https://doi.org/10.1145/328691.328700 schema:sameAs https://app.dimensions.ai/details/publication/pub.1040292218
109 rdf:type schema:CreativeWork
110 https://doi.org/10.1145/359576.359579 schema:sameAs https://app.dimensions.ai/details/publication/pub.1011956763
111 rdf:type schema:CreativeWork
112 https://doi.org/10.21236/ad0406138 schema:sameAs https://app.dimensions.ai/details/publication/pub.1091991441
113 rdf:type schema:CreativeWork
114 https://www.grid.ac/institutes/grid.15762.37 schema:alternateName Interuniversity Microelectronics Centre
115 schema:name IMEC, Kapeldreef 75, 3001, Leuven
116 rdf:type schema:Organization
117 https://www.grid.ac/institutes/grid.5596.f schema:alternateName KU Leuven
118 schema:name Katholieke Universiteit Leuven, Kasteelpark Arenberg 10, 3001, Leuven
119 rdf:type schema:Organization
 




Preview window. Press ESC to close (or click here)


...