A Generic Framework for Context-Sensitive Analysis of Modular Programs View Full Text


Ontology type: schema:Chapter      Open Access: True


Chapter Info

DATE

2004

AUTHORS

Germán Puebla , Jesús Correas , Manuel V. Hermenegildo , Francisco Bueno , María García de la Banda , Kim Marriott , Peter J. Stuckey

ABSTRACT

Context-sensitive analysis provides information which is potentially more accurate than that provided by context-free analysis. Such information can then be applied in order to validate/debug the program and/or to specialize the program obtaining important improvements. Unfortunately, context-sensitive analysis of modular programs poses important theoretical and practical problems. One solution, used in several proposals, is to resort to context-free analysis. Other proposals do address context-sensitive analysis, but are only applicable when the description domain used satisfies rather restrictive properties. In this paper, we argue that a general framework for context-sensitive analysis of modular programs, i.e., one that allows using all the domains which have proved useful in practice in the non-modular setting, is indeed feasible and very useful. Driven by our experience in the design and implementation of analysis and specialization techniques in the context of CiaoPP, the Ciao system preprocessor, in this paper we discuss a number of design goals for context-sensitive analysis of modular programs as well as the problems which arise in trying to meet these goals. We also provide a high-level description of a framework for analysis of modular programs which does substantially meet these objectives. This framework is generic in that it can be instantiated in different ways in order to adapt to different contexts. Finally, the behavior of the different instantiations w.r.t. the design goals that motivate our work is also discussed. More... »

PAGES

233-260

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/978-3-540-25951-0_8

DOI

http://dx.doi.org/10.1007/978-3-540-25951-0_8

DIMENSIONS

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


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/08", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Information and Computing Sciences", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0802", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Computation Theory and Mathematics", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "Department of Computer Science, Technical University of Madrid (UPM)", 
          "id": "http://www.grid.ac/institutes/grid.5690.a", 
          "name": [
            "Department of Computer Science, Technical University of Madrid (UPM)"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Puebla", 
        "givenName": "Germ\u00e1n", 
        "id": "sg:person.010304740003.09", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010304740003.09"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Department of Computer Science, Technical University of Madrid (UPM)", 
          "id": "http://www.grid.ac/institutes/grid.5690.a", 
          "name": [
            "Department of Computer Science, Technical University of Madrid (UPM)"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Correas", 
        "givenName": "Jes\u00fas", 
        "id": "sg:person.014704503052.46", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014704503052.46"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Depts. of Computer Science and Electrical and Computer Engineering, University of New Mexico (UNM)", 
          "id": "http://www.grid.ac/institutes/grid.266832.b", 
          "name": [
            "Department of Computer Science, Technical University of Madrid (UPM)", 
            "Depts. of Computer Science and Electrical and Computer Engineering, University of New Mexico (UNM)"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Hermenegildo", 
        "givenName": "Manuel V.", 
        "id": "sg:person.016231041373.11", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016231041373.11"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Department of Computer Science, Technical University of Madrid (UPM)", 
          "id": "http://www.grid.ac/institutes/grid.5690.a", 
          "name": [
            "Department of Computer Science, Technical University of Madrid (UPM)"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Bueno", 
        "givenName": "Francisco", 
        "id": "sg:person.016135661277.90", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016135661277.90"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer Science and Software Engineering, Monash University", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Computer Science and Software Engineering, Monash University"
          ], 
          "type": "Organization"
        }, 
        "familyName": "de la Banda", 
        "givenName": "Mar\u00eda Garc\u00eda", 
        "id": "sg:person.016350443307.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer Science and Software Engineering, Monash University", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Computer Science and Software Engineering, Monash University"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Marriott", 
        "givenName": "Kim", 
        "id": "sg:person.014375607254.44", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Department of Computer Science and Software Engineering, University of Melbourne", 
          "id": "http://www.grid.ac/institutes/grid.1008.9", 
          "name": [
            "Department of Computer Science and Software Engineering, University of Melbourne"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Stuckey", 
        "givenName": "Peter J.", 
        "id": "sg:person.012243374043.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93"
        ], 
        "type": "Person"
      }
    ], 
    "datePublished": "2004", 
    "datePublishedReg": "2004-01-01", 
    "description": "Context-sensitive analysis provides information which is potentially more accurate than that provided by context-free analysis. Such information can then be applied in order to validate/debug the program and/or to specialize the program obtaining important improvements. Unfortunately, context-sensitive analysis of modular programs poses important theoretical and practical problems. One solution, used in several proposals, is to resort to context-free analysis. Other proposals do address context-sensitive analysis, but are only applicable when the description domain used satisfies rather restrictive properties. In this paper, we argue that a general framework for context-sensitive analysis of modular programs, i.e., one that allows using all the domains which have proved useful in practice in the non-modular setting, is indeed feasible and very useful. Driven by our experience in the design and implementation of analysis and specialization techniques in the context of CiaoPP, the Ciao system preprocessor, in this paper we discuss a number of design goals for context-sensitive analysis of modular programs as well as the problems which arise in trying to meet these goals. We also provide a high-level description of a framework for analysis of modular programs which does substantially meet these objectives. This framework is generic in that it can be instantiated in different ways in order to adapt to different contexts. Finally, the behavior of the different instantiations w.r.t.\u00a0the design goals that motivate our work is also discussed.", 
    "editor": [
      {
        "familyName": "Bruynooghe", 
        "givenName": "Maurice", 
        "type": "Person"
      }, 
      {
        "familyName": "Lau", 
        "givenName": "Kung-Kiu", 
        "type": "Person"
      }
    ], 
    "genre": "chapter", 
    "id": "sg:pub.10.1007/978-3-540-25951-0_8", 
    "inLanguage": "en", 
    "isAccessibleForFree": true, 
    "isPartOf": {
      "isbn": [
        "978-3-540-22152-4", 
        "978-3-540-25951-0"
      ], 
      "name": "Program Development in Computational Logic", 
      "type": "Book"
    }, 
    "keywords": [
      "context-sensitive analysis", 
      "context-free analysis", 
      "modular programs", 
      "design goals", 
      "high-level description", 
      "implementation of analysis", 
      "generic framework", 
      "specialization techniques", 
      "description domains", 
      "general framework", 
      "framework", 
      "such information", 
      "practical problems", 
      "different contexts", 
      "information", 
      "CiaoPP", 
      "preprocessor", 
      "proposal", 
      "goal", 
      "implementation", 
      "domain", 
      "different ways", 
      "context", 
      "important improvement", 
      "order", 
      "program", 
      "design", 
      "technique", 
      "solution", 
      "way", 
      "satisfies", 
      "work", 
      "restrictive properties", 
      "description", 
      "analysis", 
      "improvement", 
      "one", 
      "number", 
      "experience", 
      "objective", 
      "setting", 
      "practice", 
      "behavior", 
      "properties", 
      "problem", 
      "paper"
    ], 
    "name": "A Generic Framework for Context-Sensitive Analysis of Modular Programs", 
    "pagination": "233-260", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1035270861"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/978-3-540-25951-0_8"
        ]
      }
    ], 
    "publisher": {
      "name": "Springer Nature", 
      "type": "Organisation"
    }, 
    "sameAs": [
      "https://doi.org/10.1007/978-3-540-25951-0_8", 
      "https://app.dimensions.ai/details/publication/pub.1035270861"
    ], 
    "sdDataset": "chapters", 
    "sdDatePublished": "2022-05-20T07:48", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-springernature-scigraph/baseset/20220519/entities/gbq_results/chapter/chapter_440.jsonl", 
    "type": "Chapter", 
    "url": "https://doi.org/10.1007/978-3-540-25951-0_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-25951-0_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-25951-0_8'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/978-3-540-25951-0_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-25951-0_8'


 

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

163 TRIPLES      23 PREDICATES      72 URIs      65 LITERALS      7 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/978-3-540-25951-0_8 schema:about anzsrc-for:08
2 anzsrc-for:0802
3 schema:author Nefdf4349394a4d0c8be60bb5bdbfa440
4 schema:datePublished 2004
5 schema:datePublishedReg 2004-01-01
6 schema:description Context-sensitive analysis provides information which is potentially more accurate than that provided by context-free analysis. Such information can then be applied in order to validate/debug the program and/or to specialize the program obtaining important improvements. Unfortunately, context-sensitive analysis of modular programs poses important theoretical and practical problems. One solution, used in several proposals, is to resort to context-free analysis. Other proposals do address context-sensitive analysis, but are only applicable when the description domain used satisfies rather restrictive properties. In this paper, we argue that a general framework for context-sensitive analysis of modular programs, i.e., one that allows using all the domains which have proved useful in practice in the non-modular setting, is indeed feasible and very useful. Driven by our experience in the design and implementation of analysis and specialization techniques in the context of CiaoPP, the Ciao system preprocessor, in this paper we discuss a number of design goals for context-sensitive analysis of modular programs as well as the problems which arise in trying to meet these goals. We also provide a high-level description of a framework for analysis of modular programs which does substantially meet these objectives. This framework is generic in that it can be instantiated in different ways in order to adapt to different contexts. Finally, the behavior of the different instantiations w.r.t. the design goals that motivate our work is also discussed.
7 schema:editor Nac580944d0e647b68e53987cce8e765f
8 schema:genre chapter
9 schema:inLanguage en
10 schema:isAccessibleForFree true
11 schema:isPartOf Nfc5e9ddf11144f869ad20b87bf6e06d1
12 schema:keywords CiaoPP
13 analysis
14 behavior
15 context
16 context-free analysis
17 context-sensitive analysis
18 description
19 description domains
20 design
21 design goals
22 different contexts
23 different ways
24 domain
25 experience
26 framework
27 general framework
28 generic framework
29 goal
30 high-level description
31 implementation
32 implementation of analysis
33 important improvement
34 improvement
35 information
36 modular programs
37 number
38 objective
39 one
40 order
41 paper
42 practical problems
43 practice
44 preprocessor
45 problem
46 program
47 properties
48 proposal
49 restrictive properties
50 satisfies
51 setting
52 solution
53 specialization techniques
54 such information
55 technique
56 way
57 work
58 schema:name A Generic Framework for Context-Sensitive Analysis of Modular Programs
59 schema:pagination 233-260
60 schema:productId N084a4f49581e4f1681f4fe56d5ab0962
61 N5994a9a660e64458b2d1f0a28d9fa135
62 schema:publisher N5a88fb4e6a7b44faa47b1aea137e1749
63 schema:sameAs https://app.dimensions.ai/details/publication/pub.1035270861
64 https://doi.org/10.1007/978-3-540-25951-0_8
65 schema:sdDatePublished 2022-05-20T07:48
66 schema:sdLicense https://scigraph.springernature.com/explorer/license/
67 schema:sdPublisher N733f2954ffba40f4b70d312210f5345b
68 schema:url https://doi.org/10.1007/978-3-540-25951-0_8
69 sgo:license sg:explorer/license/
70 sgo:sdDataset chapters
71 rdf:type schema:Chapter
72 N057dcfe1ee2a47e58c66c6d7dcd9c525 rdf:first sg:person.016231041373.11
73 rdf:rest N95ebb4add907494086116bea0aa60f70
74 N084a4f49581e4f1681f4fe56d5ab0962 schema:name doi
75 schema:value 10.1007/978-3-540-25951-0_8
76 rdf:type schema:PropertyValue
77 N27427cf42fbd4ea6a9b3bd6fe70942cb schema:familyName Lau
78 schema:givenName Kung-Kiu
79 rdf:type schema:Person
80 N5994a9a660e64458b2d1f0a28d9fa135 schema:name dimensions_id
81 schema:value pub.1035270861
82 rdf:type schema:PropertyValue
83 N5a88fb4e6a7b44faa47b1aea137e1749 schema:name Springer Nature
84 rdf:type schema:Organisation
85 N733f2954ffba40f4b70d312210f5345b schema:name Springer Nature - SN SciGraph project
86 rdf:type schema:Organization
87 N8b1a6c4045854450a111e4e343352dc5 rdf:first sg:person.016350443307.93
88 rdf:rest Nc5eb743c015640959d17e3d201433b40
89 N95ebb4add907494086116bea0aa60f70 rdf:first sg:person.016135661277.90
90 rdf:rest N8b1a6c4045854450a111e4e343352dc5
91 N99c9dfd8bedb45958454db6815b1ed08 rdf:first sg:person.014704503052.46
92 rdf:rest N057dcfe1ee2a47e58c66c6d7dcd9c525
93 Nac580944d0e647b68e53987cce8e765f rdf:first Ne6f21e8a193d4bbdb072eeb75ef2dec8
94 rdf:rest Nc944e6a7cc464897b259c4b559ff213a
95 Nae5bda8e179d4a3fb77f526548a6cf0c rdf:first sg:person.012243374043.93
96 rdf:rest rdf:nil
97 Nc5eb743c015640959d17e3d201433b40 rdf:first sg:person.014375607254.44
98 rdf:rest Nae5bda8e179d4a3fb77f526548a6cf0c
99 Nc944e6a7cc464897b259c4b559ff213a rdf:first N27427cf42fbd4ea6a9b3bd6fe70942cb
100 rdf:rest rdf:nil
101 Ne6f21e8a193d4bbdb072eeb75ef2dec8 schema:familyName Bruynooghe
102 schema:givenName Maurice
103 rdf:type schema:Person
104 Nefdf4349394a4d0c8be60bb5bdbfa440 rdf:first sg:person.010304740003.09
105 rdf:rest N99c9dfd8bedb45958454db6815b1ed08
106 Nfc5e9ddf11144f869ad20b87bf6e06d1 schema:isbn 978-3-540-22152-4
107 978-3-540-25951-0
108 schema:name Program Development in Computational Logic
109 rdf:type schema:Book
110 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
111 schema:name Information and Computing Sciences
112 rdf:type schema:DefinedTerm
113 anzsrc-for:0802 schema:inDefinedTermSet anzsrc-for:
114 schema:name Computation Theory and Mathematics
115 rdf:type schema:DefinedTerm
116 sg:person.010304740003.09 schema:affiliation grid-institutes:grid.5690.a
117 schema:familyName Puebla
118 schema:givenName Germán
119 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010304740003.09
120 rdf:type schema:Person
121 sg:person.012243374043.93 schema:affiliation grid-institutes:grid.1008.9
122 schema:familyName Stuckey
123 schema:givenName Peter J.
124 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93
125 rdf:type schema:Person
126 sg:person.014375607254.44 schema:affiliation grid-institutes:grid.1002.3
127 schema:familyName Marriott
128 schema:givenName Kim
129 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44
130 rdf:type schema:Person
131 sg:person.014704503052.46 schema:affiliation grid-institutes:grid.5690.a
132 schema:familyName Correas
133 schema:givenName Jesús
134 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014704503052.46
135 rdf:type schema:Person
136 sg:person.016135661277.90 schema:affiliation grid-institutes:grid.5690.a
137 schema:familyName Bueno
138 schema:givenName Francisco
139 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016135661277.90
140 rdf:type schema:Person
141 sg:person.016231041373.11 schema:affiliation grid-institutes:grid.266832.b
142 schema:familyName Hermenegildo
143 schema:givenName Manuel V.
144 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016231041373.11
145 rdf:type schema:Person
146 sg:person.016350443307.93 schema:affiliation grid-institutes:grid.1002.3
147 schema:familyName de la Banda
148 schema:givenName María García
149 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93
150 rdf:type schema:Person
151 grid-institutes:grid.1002.3 schema:alternateName School of Computer Science and Software Engineering, Monash University
152 schema:name School of Computer Science and Software Engineering, Monash University
153 rdf:type schema:Organization
154 grid-institutes:grid.1008.9 schema:alternateName Department of Computer Science and Software Engineering, University of Melbourne
155 schema:name Department of Computer Science and Software Engineering, University of Melbourne
156 rdf:type schema:Organization
157 grid-institutes:grid.266832.b schema:alternateName Depts. of Computer Science and Electrical and Computer Engineering, University of New Mexico (UNM)
158 schema:name Department of Computer Science, Technical University of Madrid (UPM)
159 Depts. of Computer Science and Electrical and Computer Engineering, University of New Mexico (UNM)
160 rdf:type schema:Organization
161 grid-institutes:grid.5690.a schema:alternateName Department of Computer Science, Technical University of Madrid (UPM)
162 schema:name Department of Computer Science, Technical University of Madrid (UPM)
163 rdf:type schema:Organization
 




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


...