Skip to main content

Higher-Precision Groundness Analysis

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2237))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  MATH  MathSciNet  Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. M. Codish and C. Taboch. A semantic basis for the termination analysis of logic programs. J. Logic Programming, 41(1):103–123, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Evaluation of the domain Prop. Journal of Logic Programming, 23(3):237–278, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  9. 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.

    Google Scholar 

  10. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. 6th POPL, pp. 269–282. ACM Press, 1979.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, Germany, 1997.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. G. Filé and F. Ranzato. The powerset operator on abstract interpretations. Theoretical Computer Science, 222:77–111, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  15. R. Giacobazzi, S. Debray, and G. Levi. Generalized semantics and abstract interpretation for constraint logic programs. J. Logic Programming, 25(3):191–247.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. K. Marriott. Frameworks for abstract interpretation. Acta Informatica, 30(2):103–129, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  18. K. Marriott and H. Søndergaard. Notes for a tutorial on abstract interpretation of logic programs. 1989 North American Conf. Logic Programming.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. V. Ramachandran, P. Van Hentenryck, and A. Cortesi. Abstract domains for reordering CLP(ℜLin) programs. J. Logic Programming, 42(3):217–256, 2000.

    Article  MATH  MathSciNet  Google Scholar 

  22. Peter Schachte. Precise and Efficient Static Analysis of Logic Programs. PhD thesis, The University of Melbourne, Australia, 1999.

    Google Scholar 

  23. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics