Global analysis of constraint logic programs
Open Access
- 1 September 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 18 (5) , 564-614
- https://doi.org/10.1145/232706.232734
Abstract
This article presents and illustrates a practical approach to the dataflow analysis of constraint logic programming languages using abstract interpretation. It is first argued that, from the framework point of view, it suffices to propose relatively simple extensions of traditional analysis methods which have already been proved useful and practical and for which efficient fixpoint algorithms exist. This is shown by proposing a simple extension of Bruynooghe's traditional framework which allows it to analyze constraint logic programs. Then, and using this generalized framework, two abstract domains and their required abstract functions are presented: the first abstract domain approximates definiteness information and the second one freeness. Finally, an approach for combining those domains is proposed. The two domains and their combination have been implemented and used in the analysis of CLP( R ) and Prolog-III applications. Results form this implementation showing its performance and accuracy are also presented.Keywords
This publication has 23 references indexed in Scilit:
- Analysis of residuating logic programsThe Journal of Logic Programming, 1995
- Constraint logic programming: a surveyThe Journal of Logic Programming, 1994
- Backtracking without trailing in CLP (R
Lin
)ACM SIGPLAN Notices, 1994
- Frameworks for abstract interpretationActa Informatica, 1993
- Efficient dataflow analysis of logic programsJournal of the ACM, 1992
- Compile-time derivation of variable dependency using abstract interpretationThe Journal of Logic Programming, 1992
- Static analysis of logic programs for independent and parallelismThe Journal of Logic Programming, 1992
- Abstract interpretation and application to logic programsThe Journal of Logic Programming, 1992
- Deriving descriptions of possible values of program variables by means of abstract interpretationThe Journal of Logic Programming, 1992
- A practical framework for theabstract interpretation of logic programsThe Journal of Logic Programming, 1991