Skip to main content

Freeness, sharing, linearity and correctness — All at once

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 724))

Abstract

The availability of freeness and sharing information for logic programs has proven useful in a wide variety of applications. However, deriving correct freeness and sharing information turns out to be a complex task. In a recent paper, Codish et al. introduce a domain of abstract equation systems and illustrate the systematic derivation of an abstract unification algorithm for sharing and freeness. This paper follows the same approach, and using a more detailed abstraction, develops a more powerful transition system. The resulting algorithm is more prone to efficient implementation as it computes a single abstract solved form which exhibits sharing, freeness, groundness and linearity information.

Funded in part by the ESPRIT project 5246 PRINCE.

Supported by the Belgian National Fund for Scientific Research.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Codish, D. Dams, G. File, M. Bruynooghe. Freeness Analysis for Logic Programs — And Correctness? Proc. of Tenth Int. Conf. on Logic Programming, Budapest, 1993.

    Google Scholar 

  2. M. Codish, D. Dams, and E. Yardeni. Derivation and safety of an abstract algorithm for groundness and aliasing analysis. In K. Furukawa, editor, Proc. Eighth Int. Conf. on Logic Programming, pages 79–93. MIT Press, 1991.

    Google Scholar 

  3. M. Codish, A. Mulkers, M. Bruynooghe, M. García de la Banda and M. Hermenegildo. Improving abstract interpretations by combining domains. In Proc. ACM Symposium on Partial Evaluation and Semantics Based Program Manipulation. 1993.

    Google Scholar 

  4. A. Cortesi and G. Filé. Abstract interpretation of logic programs: an abstract domain for groundness, sharing, freeness and compoundness analysis. In P. Hudak and N. Jones, editors, Proc. ACM Symposium on Partial Evaluation and Semantics Based Program Manipulation. SIGPLAN NOTICES vol. 26, n.11, 1991.

    Google Scholar 

  5. P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. Fourth ACM symp. on Principles of Programming Languages, pages 238–252, Los Angeles, California, 1977.

    Google Scholar 

  6. D. Jacobs and A. Langen. Static analysis of logic programs for independent and-parallelism. Journal of Logic Programming, 13(2 and 3):291–314, July 1992.

    Google Scholar 

  7. J.-L. Lassez, M.J. Maher, and K. Marriott. Unification revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming. Morgan Kauffmann, 1987.

    Google Scholar 

  8. A. Martelli and U. Montanari. An efficient unification algorithm. ACM Transactions on Programming Languages and Systems, 4(2):258–282, April 1982.

    Google Scholar 

  9. K. Muthukumar and M. Hermenegildo. Combined determination of sharing and freeness of program variables through abstract interpretation. In K. Furukawa, editor, Proc. Eighth International Conference on Logic Programming, pages 49–63. MIT Press, 1991.

    Google Scholar 

  10. H. SØndergaard. An application of abstract interpretation of logic programs: occur check reduction. In B. Robinet and R. Wilhelm, editors, ESOP'86 Proc. European Symposium on Programming, LNCS 213, pages 327–338. Springer-Verlag, 1986.

    Google Scholar 

  11. R. Sundararajan and J. Conery. An abstract interpretation scheme for groundness, freeness, and sharing analysis of logic programs. Proc. Twelfth FST & TCS Conf., New Delhi, Dec. 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Patrick Cousot Moreno Falaschi Gilberto Filé Antoine Rauzy

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bruynooghe, M., Codish, M. (1993). Freeness, sharing, linearity and correctness — All at once. In: Cousot, P., Falaschi, M., Filé, G., Rauzy, A. (eds) Static Analysis. WSA 1993. Lecture Notes in Computer Science, vol 724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57264-3_37

Download citation

  • DOI: https://doi.org/10.1007/3-540-57264-3_37

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57264-0

  • Online ISBN: 978-3-540-48027-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics