Ontology type: schema:Chapter Open Access: True
2004
AUTHORSGermán Puebla , Jesús Correas , Manuel V. Hermenegildo , Francisco Bueno , María García de la Banda , Kim Marriott , Peter J. Stuckey
ABSTRACTContext-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... »
PAGES233-260
Program Development in Computational Logic
ISBN
978-3-540-22152-4
978-3-540-25951-0
http://scigraph.springernature.com/pub.10.1007/978-3-540-25951-0_8
DOIhttp://dx.doi.org/10.1007/978-3-540-25951-0_8
DIMENSIONShttps://app.dimensions.ai/details/publication/pub.1035270861
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
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 |