Skip to main content

Pos(T ): Analyzing Dependencies in Typed Logic Programs

  • Conference paper
  • First Online:

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

Abstract

Dependencies play a major role in the analysis of program properties. The analysis of groundness dependencies for logic programs using the class of positive Boolean functions is a main applications area. The precision of such an analysis can be improved through the integration of either pattern information or type information. This paper develops an approach in which type information is exploited. Different from previous work, a separate simple analysis is performed for each subtype of the types. If the types are polymorphic, then dependencies for specific type instances are derived from the analysis of the polymorphic typed program.

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. K. R. Apt. Logic programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B, Formal Models and Semantics, pages 493–574. Elsevier Science Publishers B.V., 1990.

    Google Scholar 

  2. R. Bagnara, P. M. Hill, and E. Zaffanella. Efficient structural information analysis for real CLP languages. In Proc. LPAR2000, volume 1955 of LNCS. Springer, 2000.

    Google Scholar 

  3. M. Bruynooghe, M. Leuschel, and K. Sagonas. A polyvariant binding-time analysis for off-line partial deduction. In Proc. ESOP’98, volume 1381 of LNCS, pages 27–41. Springer, 1998.

    Google Scholar 

  4. F. Bueno, M. de la Banda, M. Hermenegildo, K. Marriott, G. Puebla, and P. Stuckey. A model for inter-module analysis and optimizing compilation. In Preproceedings LOPSTR2000, 2000.

    Google Scholar 

  5. M. Codish. Efficient goal directed bottom-up evaluation of logic programs. J. Logic Programming, 38(3):354–370, 1999.

    Article  MathSciNet  Google Scholar 

  6. M. Codish and B. Demoen. Deriving polymorphic type dependencies for logic programs using multiple incarnations of prop. In Proc. SAS’94, volume 864 of LNCS, pages 281–296. Springer, 1994.

    Google Scholar 

  7. M. Codish and B. Demoen. Analyzing logic programs using “PROP”-ositional logic programs and a magic wand. J. Logic Programming, 25(3):249–274, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  8. M. Codish, K. Marriott, and C. Taboch. Improving program analyses by structure untupling. Journal Logic Programming, 43(3), June 2000.

    Google Scholar 

  9. A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: propositional formula as abstract domain for groundness analysis. In Proc. LICS’91, pages 322–327. IEEE Press, 1991.

    Google Scholar 

  10. A. Cortesi, G. Filé, and W. H. Winsborough. Optimal groundness analysis using propositional logic. J. Logic Programming, 27(2):137–167, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  11. A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combinations of abstract domains for logic programming: open product and generic pattern construction. Science of Computer Programming, 38(1–3):27–71, 2000.

    Article  MATH  MathSciNet  Google Scholar 

  12. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. POPL’97, pages 238–252, 1977.

    Google Scholar 

  13. B. Demoen, M. García de la Banda, W. Harvey, K. Mariott, and P. Stuckey. An overview of HAL. In Proc. CP’99, volume 1713 of LNCS, pages 174–188. Springer, 1999.

    Google Scholar 

  14. J. Gallagher, D. Boulanger, and H. Saglam. Practical model-based static analysis for deffinite logic programs. In Proc. ILPS’95, pages 351–365. MIT Press, 1995.

    Google Scholar 

  15. J. Gallagher and D. A. de Waal. Fast and precise regular approximations of logic programs. In Proc. ICLP’94, pages 599–613. MIT Press, 1994.

    Google Scholar 

  16. M. Hermenegildo, F. Bueno, G. Puebla, and P. López. Debugging, and optimization using the Ciao system preprocessor. In Proc. ICLP’99, pages 52–66, 1999.

    Google Scholar 

  17. P. Hill and J. Lloyd. The Gödel Language. MIT Press, 1994.

    Google Scholar 

  18. G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. J. Logic programming, 13(2&3):205–258, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  19. V. Lagoon and P. J. Stuckey. A framework for analysis of typed logic programs. In Proc. FLOPS 2001, volume 2024 of LNCS, pages 296–310. Springer, 2001.

    Google Scholar 

  20. B. Le Charlier and P. Van Hentenryck. Experimental evaluation of a generic abstract interpretation algorithm for Prolog. ACM TOPLAS, 16(1):35–101, 1994.

    Article  Google Scholar 

  21. G. Levi and F. Spoto. An experiment in domain refinement: Type domains and type representations for logic programs. In Proc. PLILP/ALP’98, volume 1490 of LNCS, pages 152–169. Springer, 1998.

    Google Scholar 

  22. J.W. Lloyd. Foundation of Logic Programming. Springer, second edition, 1987.

    Google Scholar 

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

    Article  Google Scholar 

  24. A. Mulkers, W. Simoens, G. Janssens, and M. Bruynooghe. On the practicality of abstract equation systems. In Proc. ICLP’95, pages 781–795. MIT Press, 1995.

    Google Scholar 

  25. G. Puebla and M. Hermenegildo. Some issues in analysis and specialization of modular Ciao-Prolog programs. In Proc. ICLP Workshop on Optimization and Implementation of Declarative Languages, 1999.

    Google Scholar 

  26. O. Ridoux, P. Boizumault, and F. Malésieux. Typed static analysis: Application to groundness analysis of Prolog and lambda-Prolog. In Proc. FLOPS’99, volume 1722 of LNCS, pages 267–283. Springer, 1999.

    Google Scholar 

  27. J.G. Smaus, P. M. Hill, and A. King. Mode analysis domains for typed logic programs. In Proc. LOPSTR’99, volume 1817 of LNCS, pages 82–101. Springer, 2000.

    Google Scholar 

  28. Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury, an efficient purely declarative logic programming language. J. Logic Programming, 29(1–3):17–64, October–November 1996.

    Article  MATH  Google Scholar 

  29. W. Vanhoof. Binding-time analysis by constraint solving: a modular and higherorder approach for Mercury. In Proc. LPAR2000, volume 1955 of LNCS, pages 399–416, Springer, 2000.

    Google Scholar 

  30. W. Vanhoof and M. Bruynooghe. Binding-time analysis for Mercury. In Proc. ICLP’99, pages 500–514. MIT Press, 1999.

    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

Bruynooghe, M., Vanhoof, W., Codish, M. (2001). Pos(T ): Analyzing Dependencies in Typed Logic Programs. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2001. Lecture Notes in Computer Science, vol 2244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45575-2_40

Download citation

  • DOI: https://doi.org/10.1007/3-540-45575-2_40

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43075-9

  • Online ISBN: 978-3-540-45575-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics