Skip to main content

A Framework for Analysis of Typed Logic Programs

  • Conference paper
  • First Online:
Book cover Functional and Logic Programming (FLOPS 2001)

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

Included in the following conference series:

Abstract

The paper presents a novel approach to the analysis of typed logic programs. We assume regular type descriptions of logic program variables provided by regular tree grammars. Types are used to identify components of terms which can be equated during the programs execution. This information is reflected in form of set constraints in the generic abstract domain called Type(Х). The domain allows for abstract compilation of typed logic programs into set logic programs. We demonstrate how the analyzers of groundness and sharing of typed logic programs are obtained by applying the existing (untyped) techniques based on Pos and Sharing to set logic programs. The corresponding analyses in Type(Pos) and Type(Sharing) are more precise than those in Pos and Sharing.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Bruynooghe, G. Janssens, and A. Kågedal. Live-structure analysis for logic programming languages with declarations. In Procs. 14th ICLP, 33–47. MIT Press, 1997.

    Google Scholar 

  2. M. Codish and V. Lagoon. Type dependencies for logic programs using ACI unification. Theoretical Computer Science, 238(1-2):131–159, 2000.

    Article  MathSciNet  Google Scholar 

  3. M. Codish, V. Lagoon, and F. Bueno. An algebraic approach to sharing analysis of logic programs. JLP, 42(2):111–149, 2000.

    Article  MathSciNet  Google Scholar 

  4. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM Symp. on Principles of Programming Languages, 238–252, 1977.

    Google Scholar 

  5. B. Demoen, M. Garcia de la Banda, W. Harvey, K. Marriott, and P. Stuckey. An overview of HAL. In Procs. CP99. LNCS 1713, 174–188, 1999.

    Google Scholar 

  6. J. Gallagher and D. Waal. Fast and precise regular approximations of logic programs. In Procs. 11th ICLP, 599–613. MIT Press, 1994.

    Google Scholar 

  7. F. Gécseg and M. Steinby. Tree Automata. Akadémiai Kiadó, Budapest, 1984.

    MATH  Google Scholar 

  8. P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. JLP, 22(3):179–209, 1995.

    Article  Google Scholar 

  9. M. V. Hermenegildo and K. J. Greene. &-Prolog and its performance: Exploiting independent And-Parallelism. In Procs. 7th ICLP, 253–268. MIT Press, 1990.

    Google Scholar 

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

    Google Scholar 

  11. D. Jacobs and A. Langen. Static analysis of logic programs for independent AND parallelism. JLP, 13(2 & 3):291–314, 1992.

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  13. J. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1988.

    Google Scholar 

  14. K. Marriott and H. S∅ndergaard. Precise and efficient groundness analysis for logic programs. ACM TOPLAS, 2(4):181–196, 1993.

    Google Scholar 

  15. R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348–375, 1978.

    Article  MathSciNet  Google Scholar 

  16. A. Mulkers, W. Winsborough, and M. Bruynooghe. Live-structure dataflow analysis for Prolog. ACM TOPLAS, 16(2):205–258, 1994.

    Article  Google Scholar 

  17. A. Mycroft and R.A. O’Keefe. A polymorphic type system for Prolog. Artificial Intelligence, 23:295–307, 1984.

    Article  MathSciNet  Google Scholar 

  18. L. Naish. Mode checking using constrained regular trees. Technical Report 98/3, Department of Computer Science, University of Melbourne, Australia, 1998.

    Google Scholar 

  19. Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury, an efficient purely declarative logic programming language. JLP, 29(1-3):17–64, 1996.

    Article  Google Scholar 

  20. H. S∅ndergaard. An application of abstract interpretation of logic programs: Occur check reduction. In Procs. ESOP86, itLNCS 213, 327–338, 1986.

    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

Lagoon, V., Stuckey, P.J. (2001). A Framework for Analysis of Typed Logic Programs. In: Kuchen, H., Ueda, K. (eds) Functional and Logic Programming. FLOPS 2001. Lecture Notes in Computer Science, vol 2024. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44716-4_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-44716-4_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41739-2

  • Online ISBN: 978-3-540-44716-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics