A General Framework for Variable Aliasing: Towards Optimal Operators for Sharing Properties

  • Gianluca Amato
  • Francesca Scozzari
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2664)


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.


Logic Program Abstract Interpretation Abstract Domain Sharing Group Abstract Operator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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
  2. 2.
    R. Bagnara, P. Hill, and E. Zaffanella. Set-sharing is redundant for pair-sharing. Theoretical Computer Science, 277(1–2):3–46, 2002.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 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. 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. 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
  6. 6.
    A. Cortesi, G. Filé, and W. W. Winsborough. Optimal groundness analysis using propositional logic. Journal of Logic Programming, 27(2):137–167, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. ACM POPL, pp. 269–282, 1979.Google Scholar
  8. 8.
    P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2 & 3):103–179, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  9. 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
  10. 10.
    M. V. Hermenegildo and F. Rossi. Strict and nonstrict independent and-parallelism in logic programs: Correctness, efficiency, and compile-time conditions. Journal of Logic Programming, 22(1):1–45, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  11. 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
  12. 12.
    J. Howe and A. King. Three Optimisations for Sharing. Theory and Practice of Logic Programming, 3(2):243–257, 2003.zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    D. Jacobs and A. Langen. Static Analysis of Logic Programs for Independent AND Parallelism. Journal of Logic Programming, 13(2 & 3):291–314, 1992.zbMATHCrossRefGoogle Scholar
  14. 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
  15. 15.
    A. King. Pair-sharing over rational trees. JLP, 46(1–2):139–155, Nov. 2000.zbMATHCrossRefGoogle Scholar
  16. 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. 17.
    V. Lagoon and P.J. Stuckey. Precise Pair-Sharing Analysis of Logic Programs. In Proc. of PPDP, 99–108, 2002.Google Scholar
  18. 18.
    A. Langen. Static Analysis for Independent And-parallelism in Logic Programs. PhD thesis, University of Southern California, Los Angeles, California, 1990.Google Scholar
  19. 19.
    K. Marriott, H. Søndergaard, and N. D. Jones. Denotational abstract interpretation of logic programs. ACM TOPLAS, 16(3):607–648, 1994.CrossRefGoogle Scholar
  20. 20.
    K. Muthukumar and M. V. Hermenegildo. Compile-time derivation of variable dependency using abstract interpretation. JLP, 13(2&3):315–347, 1992.zbMATHCrossRefGoogle Scholar
  21. 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
  22. 22.
    E. Zaffanella. Correctness, Precision and Efficiency in the Sharing Analysis of Real Logic Languages. PhD thesis, School of Computing, University of Leeds, Leeds, U.K., 2001. Available at Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Gianluca Amato
    • 1
  • Francesca Scozzari
    • 2
  1. 1.Dipartimento di ScienzeUniversità di Chieti-PescaraItaly
  2. 2.Dipartimento di InformaticaUniversità di PisaItaly

Personalised recommendations