Abstract
We apply the methodology of domain refinement to systematically derive domains for type analysis. Domains are built by iterative application of the Heyting completion operator to a given set of basic types. We give a condition on the type system which assures that two steps of iteration are sufficient to reach the fixpoint. Moreover, we provide a general representation for type domains through transfinite formulas. Finally, we show a subset of finite formulas which can be used as a computationally feasible implementation of the domains and we define the corresponding abstract operators.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt and E. Marchiori. Reasoning about Prolog programs: from modes through types to assertions. Formal Aspects of Computing, 6(6A):743–765, 1994.
T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Boolean functions for dependency analysis: Algebraic properties and efficient representation. In B. Le Charlier, editor, Proc. Static Analysis Symposium, SAS'94, volume 864 of Lecture Notes in Computer Science, pages 266–280. Springer-Verlag, 1994.
R. Barbuti and R. Giacobazzi. A Bottom-up Polymorphic Type Inference in Logic Programming. Science of Computer Programming, 19(3):281–313, 1992.
J. Boye. Directional Types in Logic Programming. PhD thesis, Linköping University (Sweden), 1996.
M. Codish and B. Demoen. Deriving Polymorphic Type Dependencies for Logic Programs Using Multiple Incarnations of Prop. In Proc. of the first International Symposium on Static Analysis, volume 864 of Lecture Notes in Computer Science, pages 281–296. Springer-Verlag, 1994.
M. Codish and V. Lagoon. Type dependencies for logic programs using ACI—unification. In Proceedings of the 1996 Israeli Symposium on Theory of Computing and Systems, pages 136–145. IEEE Press, June 1996. Extended version to appear in Theoretical Computer Science.
A. Cortesi, G. Filè, and W. Winsborough. Optimal Groundness Analysis Using Propositional Logic. Journal of Logic Programming, 27(2):137–167, 1996.
P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2 & 3):103–179, 1992.
G. Filé, R. Giacobazzi, and F. Ranzato. A unifying view on abstract domain design. ACM Computing Surveys, 28(2):333–336, 1996.
T. Frühwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic Programs as Types for Logic Programs. In Albert R. Meyer, editor, Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science, pages 300–309, Amsterdam, The Netherlands, July 1991. IEEE Computer Society Press.
J. Gallagher and D. A. de Waal. Fast and Precise Regular Approximation of Logic Programs. In Pascal Van Hentenryck, editor, Proceedings of the Eleventh International Conference on Logic Programming, pages 599–613, Santa Margherita Ligure, Italy, 1994. The MIT Press.
R. Giacobazzi and F. Scozzari. Intuitionistic implication in abstract interpretation. In H. Glaser, P. Hartel, and H. Kuchen, editors, Proceedings of Ninth International Symposium on Programming Languages, Implementations, Logics and Programs PLILP'97, volume 1292 of Lecture Notes in Computer Science, pages 175–189. Springer-Verlag, 1997.
G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. Journal of Logic Programming, 13(2 & 3):205–258, 1992.
T. Kanomori and K. Horiuchi. Polymorphic Type Inference in Prolog by Abstract Interpretation. In Logic Programming 87-Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195–214. Springer-Verlag, 1988.
M. Kifer and J. Wu. A first-order theory of types and polymorphism in logic programming. In IEEE Symposium on logic in Computer Science, 1991.
C. Pyo and U. S. Reddy. Inference of Polymorphic Types for Logic Programming. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming'89, pages 1115–1132. The MIT Press, 1989.
F. Scozzari. Logical optimality of groundness analysis. In P. Van Hentenryck, editor, Proceedings of International Static Analysis Symposium, SAS'97, volume 1302 of Lecture Notes in Computer Science, pages 83–97. Springer-Verlag, 1997.
J. Xu and D. S. Warren. A Type Inference System for Prolog. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming, pages 604–619. The MIT Press, 1988.
E. Yardeni and E. Shapiro. A Type System for Logic Programs. Journal of Logic Programming, 10:125–135, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Levi, G., Spoto, F. (1998). An experiment in domain refinement: Type domains and type representations for logic programs. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056613
Download citation
DOI: https://doi.org/10.1007/BFb0056613
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65012-6
Online ISBN: 978-3-540-49766-0
eBook Packages: Springer Book Archive