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.
Preview
Unable to display preview. Download preview PDF.
References
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.
K. Apt, editor. Proc' of the Joint International Conference and Symposium on Logic Programming, Washington, USA, 1992. The MIT Press.
R. Barbuti, and R. Giacobazzi. A bottom-up polymorphic type inference in logic programming. Science of Computer Programming, 19(3):281–313, 1992.
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.
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.
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.
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93–125, 1994.
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.
M. Codish and B. Demoen. Analysing logic programs using “Prop”-ositional logic programs and a magic wand. In Miller [22], pages 114–129.
M. Codish, M. Falaschi, and K. Marriott. Suspension analysis for concurrent logic programs. ACM TOPLAS. In Press.
M. Codish and G. Mashevitzky. Proving implications by algebraic approximation. In Proc' 4th Intn' Conf' on Algebraic and Logic Programming, Sept. 1994.
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.
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.
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.
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.
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.
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.
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.
B. Le Charlier and P. V. Hentenryck. Groundness analysis for Prolog: implementation and evaluation of the domain Prop. In Proc' PEPM'93, 1993.
J. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1987.
K. Marriott and H. Søndergaard. Semantics-based dataflow analysis of logic programs. In G. Ritter, editor, Information Processing 89. North-Holland, 1989.
D. Miller, editor. Logic Programming — Proc' of the 1993 Int' Symp', 1993. The MIT Press.
F. Pfenning, editor. Types in Logic Programming. MIT, 1992.
Y. Rouzaud, and L. Nguyen-Phuong. Integrating modes and subtypes into a Prolog type-checker. In Apt [2], pages 85–97.
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.
E. Yardeni. Type Systems for Logic Programs Based on Abstract Interpretation. PhD thesis, Weizmann Institute of Science, Rehovot 76100, Israel, 1992.
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.
Author information
Authors and Affiliations
Editor information
Rights 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