Abstract
Groundness analysis of logic programs using Pos-based abstract interpretation is one of the clear success stories of the last decade in the area of logic program analysis. In this work we identify two problems with the Pos domain, the multiplicity and sign problems, that arise independently in groundness and uniqueness analysis. We describe how these problems can be solved using an analysis based on a domain Size for inferring term size relations. However this solution has its own shortcomings because it involves a widening operator which leads to a loss of Pos information. Inspired by Pos, Size and the LSign domain for abstract linear arithmetic constraints we introduce a new domain LPos, and show how it can be used for groundness and uniqueness analysis. The idea is to use the sign information of LSign to improve the widening of Size so that it does not lose Pos information. We prove that the resulting analyses using LPos are uniformly more precise than those using Pos.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Two classes of Boolean functions for dependency analysis. Science of Computer Programming, 31(1):3–45, 1998.
N. Baker and H. Søndergaard. Definiteness analysis for CLP(R). In G. Gupta et al., editor, Proc. 16th Australian Computer Science Conf., pp. 321–332, 1993.
F. Benoy and A. King. Inferring argument size relationships with CLP(R). In J. Gallagher, editor, Logic Program Synthesis and Transformation, LNCS, vol. 1207, pp. 204–223. Springer, 1997.
M. Codish and B. Demoen. Deriving polymorphic type dependencies for logic programs using multiple incarnations of Prop. In B. Le Charlier, editor, Static Analysis: Proc. First Int. Symp., LNCS,vol. 864, pp. 281–296. Springer, 1994.
M. Codish and C. Taboch. A semantic basis for the termination analysis of logic programs. J. Logic Programming, 41(1):103–123, 1999.
P. Codognet and G. Filé. Computations, abstractions and constraints in logic programs. In Proc. 4th IEEE Int. Conf. Computer Languages, pp. 155–164. IEEE Comp. Soc. Press, 1992.
A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Propositional formula as abstract domain for groundness analysis. In Proc. 6th Annual IEEE Symp. Logic in Computer Science, pp. 322–327. IEEE Computer Society Press, 1991.
A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Evaluation of the domain Prop. Journal of Logic Programming, 23(3):237–278, 1995.
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. 4th POPL, pp. 238–252. ACM Press, 1977.
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. 6th POPL, pp. 269–282. ACM Press, 1979.
P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In M. Bruynooghe and M. Wirsing, editors, PLILP, LNCS, vol. 631, pp. 269–295. Springer, 1992.
C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, Germany, 1997.
G. Filé and F. Ranzato. Improving abstract interpretations by systematic lifting to the powerset. In M. Bruynooghe, editor, Logic Programming: Proc. 1994 Int. Symp., pp. 655–669. MIT Press, 1994.
G. Filé and F. Ranzato. The powerset operator on abstract interpretations. Theoretical Computer Science, 222:77–111, 1999.
R. Giacobazzi, S. Debray, and G. Levi. Generalized semantics and abstract interpretation for constraint logic programs. J. Logic Programming, 25(3):191–247.
N. Lindenstrauss and Y. Sagiv. Automatic termination analysis of logic programs. In L. Naish, editor, Logic Programming: Proc. 14th Int. Conf. Logic Programming, pp. 63–77. MIT Press, 1997.
K. Marriott. Frameworks for abstract interpretation. Acta Informatica, 30(2):103–129, 1993.
K. Marriott and H. Søndergaard. Notes for a tutorial on abstract interpretation of logic programs. 1989 North American Conf. Logic Programming.
K. Marriott and H. Søndergaard. Precise and efficient groundness analysis for logic programs. ACM Letters on Programming Languages and Systems, 2(1–4):181–196.
K. Marriott and P. J. Stuckey. Approximating interaction between linear arithmetic constraints. In M. Bruynooghe, editor, Logic Programming: Proc. 1994 Int. Symp., pp. 571–585. MIT Press, 1994.
V. Ramachandran, P. Van Hentenryck, and A. Cortesi. Abstract domains for reordering CLP(ℜLin) programs. J. Logic Programming, 42(3):217–256, 2000.
Peter Schachte. Precise and Efficient Static Analysis of Logic Programs. PhD thesis, The University of Melbourne, Australia, 1999.
A. Van Gelder. Deriving constraints among argument sizes in logic programs. In Proc. 9th ACM Conf. Principles of Database Systems, pp. 47–60. ACMPress, 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Codish, M., Genaim, S., Søndergaard, H., Stuckey, P.J. (2001). Higher-Precision Groundness Analysis. In: Codognet, P. (eds) Logic Programming. ICLP 2001. Lecture Notes in Computer Science, vol 2237. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45635-X_17
Download citation
DOI: https://doi.org/10.1007/3-540-45635-X_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42935-7
Online ISBN: 978-3-540-45635-3
eBook Packages: Springer Book Archive