Abstract
In this paper we introduce the notion of Heyting completion in abstract interpretation, and we prove that it supplies a logical basis to specify relational program analyses by means of intuitionistic implication. This provides a uniform algebraic setting where abstract domains can be specified by simple logic formulas, or as solutions of recursive abstract domain equations, involving few basic operations for domain construction. We apply our framework to study directionality in type inference and groundness analysis in logic programming.
Preview
Unable to display preview. Download preview PDF.
References
A. Aiken and T.K. Lakshman. Directional type checking of logic programs. In Proc. 1 st Static Analysis Symp. SAS'94, LNCS 864, pp. 43–60. Springer, 1994.
K. R. Apt. Introduction to logic programming. In Handbook of Theoretical Computer Science, Vol. B, pp. 495–574. Elsevier, 1990.
T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Boolean functions for dependency analysis: algebraic properties and efficient representation. In Proc. 1 st Static Analysis Symp. SAS'94, LNCS 864, pp. 266–280. Springer, 1994.
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.
G. Birkhoff. Lattice theory. In AMS Colloquium Publication, third ed. AMS Press, 1967.
F. Bronsard, T.K. Lakshman, and U.S. Reddy. A framework of directionality for proving termination of logic programs. In Proc. 1992 Joint Int'l Conf. and Symp. Logic Prog., pp. 321–335. MIT Press, 1992.
M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. J. of Logic Programm. 10:91–124, 1991.
M. Codish and B. Demoen. Deriving type dependencies for logic programs using multiple incarnations of Prop. In Proc. 1 st Static Analysis Symp. SAS'94, LNCS 864. Springer, 1994.
M. Codish, A. Mulkers, M. Bruynooghe, M. Garcia de la Banda, and M. Hermenegildo. Improving abstract interpretations by combining domains. ACM TOPLAS, 17(1):28–44, 1995.
A. Cortesi, G. Filé, R. Giacobazzi, C. Palamidessi, and F. Ranzato. Complementation in abstract interpretation. ACM TOPLAS 19(1):7–47, 1997.
A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Propositional formulas as abstract domain for groundness analysis. In Proc. 6th IEEE LICS, pp. 322–327. IEEE Comp. Soc. Press, 1991.
A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combinations of abstract domains for logic programming. In 21St ACM POPL, pp. 227–239. ACM Press, 1994.
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4 th ACM POPL, pp. 238–252. ACM Press, 1977.
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In 6 th ACM POPL, pp. 269–282. ACM Press, 1979.
P. Cousot and R. Cousot. Higher-order abstract interpretation (and application to comportment analysis generalizing strictness, termination, projection and per analysis of functional languages). In Proc. 1994 Int'l Conf. on Comp. Lang. ICCL'94, pp. 95–112. IEEE Comp. Soc. Press, 1994.
G. Filé, R. Giacobazzi, and F. Ranzato. A unifying view on abstract domain design. ACM Comp. Surveys, 28(2):333–336, 1996.
G. Filé and F. Ranzato. Improving abstract interpretations by systematic lifting to the powerset. In Proc. 1994 Int'l Logic Prog. Symp., pp. 655–669. MIT Press, 1994.
R. Giacobazzi and F. Ranzato. Functional dependencies and Moore-set completions of abstract interpretations and semantics. In Proc. 1995 Int'l Logic Prog. Symp., pp. 321–335. MIT Press, 1995.
R. Giacobazzi and F. Ranzato. Compositional optimization of disjunctive abstract interpretations. In Proc. ESOP'96, LNCS 1058, pp. 141–155. Springer, 1996.
C. Hankin and D. Le Metayer. Deriving algorithms from type inference systems: Applications to strictness analysis. In 21 st ACM POPL, pp. 202–212. ACM Press, 1994.
T.P. Jensen. Disjunctive strictness analysis. In 7 th IEEE LICS, pp. 174–185. IEEE Comp. Soc. Press, 1992.
N. D. Jones and H. Søndergaard. A Semantics-based Framework for the Abstract Interpretation of Prolog. In S. Abramsky and C. Hankin, eds., Abstract Interpretation of Declarative Languages, pp. 123–142. Ellis Horwood Ltd, 1987.
N.D. Jones and S.S. Muchnick. Complexity of flow analysis, inductive assertion synthesis and a language due to Dijkstra. In S. Muchnick and N.D. Jones, eds., Program Flow analysis: Theory and Applications, pp. 380–393. Prentice-Hall, 1981.
J. Morgado. Some results on the closure operators of partially ordered sets. Port. Math., 19(2):101–139, 1960.
A. Mycroft and F. Nielson. Strong abstract interpretation using power domains. In Proc. 10 th ICALP, LNCS 154, pp. 536–547. Springer, 1983.
F. Nielson. Tensor products generalize the relational data flow analysis method. In Proc. 4 th Hung. Comp. Science Conf, pp. 211–225, 1985.
K. Yi and W.L. Harrison. Automatic generation and management of interprocedural program analyses. In 20 th ACM POPL, pp. 246–259. ACM Press, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Giacobazzi, R., Scozzari, F. (1997). Intuitionistic implication in abstract interpretation. In: Glaser, H., Hartel, P., Kuchen, H. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1997. Lecture Notes in Computer Science, vol 1292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0033844
Download citation
DOI: https://doi.org/10.1007/BFb0033844
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63398-3
Online ISBN: 978-3-540-69537-0
eBook Packages: Springer Book Archive