Skip to main content

Deriving polymorphic type dependencies for logic programs using multiple incarnations of Prop

  • Conference paper
  • First Online:
Static Analysis (SAS 1994)

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

Included in the following conference series:

Abstract

This paper illustrates the application of abstract compilation using multiple incarnations of the domain Prop in deriving type dependencies for logic programs. We illustrate how dependencies can be derived in the presence of both monomorphic and polymorphic type information. Type dependencies generalize the recently proposed notion of directional types as well as the more common notion of groundness dependencies. Directional types have proven useful in a number of applications such as in proving termination. These applications, however, are based on type declarations. The main contribution of this paper is in the simplicity in which non-trivial type dependencies are inferred using abstract compilation and by associating each type with an incarnation of Prop. We illustrate the use of a semantics for open logic programs in maintaining space efficient analyses. Time efficiency is also maintained due to approximation of the type domain in a boolean lattice calling on results of universal algebra.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aiken and T. K. Lakshman. Directional type checking of logic programs. Technical report, University of Illinois, 1994. Anonymous ftp: a.cs.uiuc.edu:/pub/reddy/tkl.

    Google Scholar 

  2. K. Apt, editor. Proc' of the Joint International Conference and Symposium on Logic Programming, Washington, USA, 1992. The MIT Press.

    Google Scholar 

  3. R. Barbuti, and R. Giacobazzi. A bottom-up polymorphic type inference in logic programming. Science of Computer Programming, 19(3):281–313, 1992.

    Article  Google Scholar 

  4. R. Barbuti, R. Giacobazzi, and G. Levi. A general framework for semantics-based bottom-up abstract interpretation of logic programs. ACM TOPLAS, 15(1):133–181, 1993.

    Article  Google Scholar 

  5. A. Bossi, M. Gabbrielli, G. Levi, and M. Meo. Contributions to the semantics of open logic programs. In Proc' of the Int' Conf. on Fifth Generation Computer Systems, pages 570–580, ICOT, Japan, 1992. Association for Computing Machinery.

    Google Scholar 

  6. F. Bronsard, T. K. Lakshman, and U. S. Reddy. A framework of directionality for proving termination of logic programs. In Apt [2], pages 321–335.

    Google Scholar 

  7. M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93–125, 1994.

    Article  Google Scholar 

  8. M. Codish, S. K. Debray, and R. Giacobazzi. Compositional analysis of modular logic programs. In Proc' of POPL'93, pages 451–464. ACM Press, 1993.

    Google Scholar 

  9. M. Codish and B. Demoen. Analysing logic programs using “Prop”-ositional logic programs and a magic wand. In Miller [22], pages 114–129.

    Google Scholar 

  10. M. Codish, M. Falaschi, and K. Marriott. Suspension analysis for concurrent logic programs. ACM TOPLAS. In Press.

    Google Scholar 

  11. M. Codish and G. Mashevitzky. Proving implications by algebraic approximation. In Proc' 4th Intn' Conf' on Algebraic and Logic Programming, Sept. 1994.

    Google Scholar 

  12. M. Corsini, K. Musumbu, A. Rauzy, and B. Le Charlier. Efficient bottom-up abstract interpretation of Prolog by means of constraint solving over symbolic finite domains. In Proc' of PLILP'93, LNCS, Talin, Aug. 1993. Springer Verlag.

    Google Scholar 

  13. A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Propositional formula as abstract domain for groundness analysis. In Proc', Sixth Annual LICS, pages 322–327, Amsterdam, July 1991. IEEE Press.

    Google Scholar 

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

    Google Scholar 

  15. T. Frühwirth. Type inference by program transformation and partial evaluation. In H. Abramson, and M. Rogers, editors, Meta-programming in Logic Programming, pages 263–282. The MIT Press, Cambridge, Massachusetts, 1989.

    Google Scholar 

  16. M. Gabbrielli, R. Giac'obazzi, and D. Montesi. Modular logic programs over finite domains. In D. Saccà, editor, Proc. Eight Italian Conf on Logic Programming, 1993.

    Google Scholar 

  17. M. V. Hermenegildo, R. Warren, and S. K. Debray. Global flow analysis as a practical compilation tool. The Journal of Logic Programming, 13(1, 2, 3 and 4):349–366.

    Google Scholar 

  18. T. K. Lakshman, U. S. Reddy, and F. Bronsard. A directional type system for Prolog: Unifying notions of types and directionality. Technical report, University of Illinois, 1994. Anonymous ftp: a.cs.uiuc.edu:/pub/reddy/tkl.

    Google Scholar 

  19. B. Le Charlier and P. V. Hentenryck. Groundness analysis for Prolog: implementation and evaluation of the domain Prop. In Proc' PEPM'93, 1993.

    Google Scholar 

  20. J. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1987.

    Google Scholar 

  21. K. Marriott and H. Søndergaard. Semantics-based dataflow analysis of logic programs. In G. Ritter, editor, Information Processing 89. North-Holland, 1989.

    Google Scholar 

  22. D. Miller, editor. Logic Programming — Proc' of the 1993 Int' Symp', 1993. The MIT Press.

    Google Scholar 

  23. F. Pfenning, editor. Types in Logic Programming. MIT, 1992.

    Google Scholar 

  24. Y. Rouzaud, and L. Nguyen-Phuong. Integrating modes and subtypes into a Prolog type-checker. In Apt [2], pages 85–97.

    Google Scholar 

  25. J. Xu, and D. S. Warren. A type inference system for Prolog. In R. A. Kowalski, and K. A. Bowen, editors, Proc' of the Fifth International Conference and Symposium on Logic Programming, pages 604–619, Seatle, 1988. The MIT Press.

    Google Scholar 

  26. E. Yardeni. Type Systems for Logic Programs Based on Abstract Interpretation. PhD thesis, Weizmann Institute of Science, Rehovot 76100, Israel, 1992.

    Google Scholar 

  27. E. Yardeni, T. Fruehwirth, and E. Shapiro. Polymorphically typed logic programs. In K. Furukawa, editor, Proc' of the Eighth Int' Conf ' on Logic Programming, pages 379–393, Paris, France, 1991. The MIT Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Baudouin Le Charlier

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Codish, M., Demoen, B. (1994). Deriving polymorphic type dependencies for logic programs using multiple incarnations of Prop. In: Le Charlier, B. (eds) Static Analysis. SAS 1994. Lecture Notes in Computer Science, vol 864. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58485-4_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-58485-4_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58485-8

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics