A General Framework for Variable Aliasing: Towards Optimal Operators for Sharing Properties
We face the problem of devising optimal unification operators for sharing and linearity analysis of logic programs by abstract interpretation. We propose a new (infinite) domain ShLinω which can be thought of as a general framework from which other domains can be easily derived by abstraction. The advantage is that ShLinω is endowed with very elegant and optimal abstract operators for unification and matching, based on a new concept of sharing graph which plays the same role of alternating paths for pair sharing analysis. We also provide an alternative, purely algebraic description of sharing graphs. Starting from the results for ShLinω, we derive optimal abstract operators for two well-known domains which combine sharing and linearity: ShLin2 by Andy King and the classic Sharing × Lin.
KeywordsLogic Program Abstract Interpretation Abstract Domain Sharing Group Abstract Operator
Unable to display preview. Download preview PDF.
- 1.G. Amato and F. Scozzari. Optimality in goal-dependent analysis of sharing. Technical Report TR-02-06, Dipartimento di Informatica, Univ. di Pisa, May 2002.Google Scholar
- 3.R. Bagnara, E. Zaffanella, and P. M. Hill. Enhanced sharing analysis techniques: A comprehensive evaluation. In Proc. of ACM Conf. PPDP, pp. 103–114, 2000.Google Scholar
- 4.M. Codish, D. Dams, and E. Yardeni. Derivation and safety of an abstract unification algorithm for groundness and aliasing analysis. In ICLP, pp. 79–93, 1991.Google Scholar
- 5.M. Codish, V. Lagoon, and F. Bueno. An algebraic approach to sharing analysis of logic programs. In Static Analysis Symposium, pp. 68–82, 1997.Google Scholar
- 7.P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. ACM POPL, pp. 269–282, 1979.Google Scholar
- 9.W. Hans and S. Winkler. Aliasing and groundness analysis of logic programs through abstract interpretation and its safety. Technical Report 92-27, Technical University of Aachen (RWTH Aachen), 1992.Google Scholar
- 11.P. M. Hill, E. Zaffanella, and R. Bagnara. A correct, precise and efficient integration of set-sharing, freeness and linearity for the analysis of finite and rational tree languages. Available at http://www.cs.unipr.it/~bagnara/.
- 14.A. King. A synergistic analysis for sharing and groundness which traces linearity. In ESOP, vol. 788 of LNCS, pp. 363–378, 1994.Google Scholar
- 16.A. King and M. Longley. Abstract matching can improve on abstract unification. Technical Report 4-95*, Computing Laboratory, Univ. of Kent, Canterbury, 1995.Google Scholar
- 17.V. Lagoon and P.J. Stuckey. Precise Pair-Sharing Analysis of Logic Programs. In Proc. of PPDP, 99–108, 2002.Google Scholar
- 18.A. Langen. Static Analysis for Independent And-parallelism in Logic Programs. PhD thesis, University of Southern California, Los Angeles, California, 1990.Google Scholar
- 21.H. Søndergaard. An application of abstract interpretation of logic programs: Occur check reduction. In Proc. ESOP 86, vol. 213 of LNCS, pp. 327–338, 1986.Google Scholar