2002
DOI: 10.1017/s1471068402001436
|View full text |Cite
|
Sign up to set email alerts
|

A backward analysis for constraint logic programs

Abstract: One recurring problem in program development is that of understanding how to re-use code developed by a third party. In the context of (constraint) logic programming, part of this problem reduces to figuring out how to query a program. If the logic program does not come with any documentation, then the programmer is forced to either experiment with queries in an ad hoc fashion or trace the control-flow of the program (backward) to infer the modes in which a predicate must be called so as to avoid an instantiat… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

3
65
1

Year Published

2002
2002
2006
2006

Publication Types

Select...
7

Relationship

4
3

Authors

Journals

citations
Cited by 28 publications
(69 citation statements)
references
References 30 publications
3
65
1
Order By: Relevance
“…Algorithms for the domain operations have been specified that can be translated directly into implementation and a prototype implementation has demonstrated that useful type information can be inferred. Contrary to what was first thought [15], the work also shows that a domain for backward type analysis need not be a complete Heyting algebra.…”
Section: Discussioncontrasting
confidence: 57%
See 2 more Smart Citations
“…Algorithms for the domain operations have been specified that can be translated directly into implementation and a prototype implementation has demonstrated that useful type information can be inferred. Contrary to what was first thought [15], the work also shows that a domain for backward type analysis need not be a complete Heyting algebra.…”
Section: Discussioncontrasting
confidence: 57%
“…In a related work [15], the authors present an abstract semantics for backward analysis of logic programs and specialise it to the groundness domain Pos [5,19] to infer safe modes for queries which ensure that the program will not generate an instantiation error. Analysis is performed by first computing an upper approximation to the success set of the program and then a lower approximation to the set of programs states (substitutions) that will not violate any moding requirement.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…This is achieved with backward analysis [12] which computes a greatest fixpoint (gfp) to strengthen the mutual exclusion conditions into determinacy conditions. The gfp makes use of rigidity success patterns which are computed, again, by simulating the T P operator in a lfp calculation.…”
Section: Synthesizing Determinacy Conditionsmentioning
confidence: 99%
“…The analysis also has applications in the burgeoning area of semi-online program specialisation; -it shows how determinacy inference can be decomposed into the sub-problems of (1) deriving a mutual exclusion condition on each call that ensures that only one matching clause has a successful derivation; (2) applying backward reasoning to enrich these conditions on calls so as to assure determinacy; -it shows that (1) can be tackled with techniques such as depth-k [20] and argument-size analysis [2] when suitably augmented with a projection step; and that (2) can be tackled with backward analysis [12]; -it reports experimental work that provides evidence that the method scales and that it can infer rich (and sometimes surprising) determinacy conditions. Section 2 illustrates the key ideas with a worked example.…”
Section: Introductionmentioning
confidence: 99%