Skip to main content

Freeness Analysis Through Linear Refinement

  • Conference paper
  • First Online:
Static Analysis (SAS 1999)

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

Included in the following conference series:

Abstract

Linear refinement is a technique for systematically constructing abstract domains for program analysis directly from a basic domain representing just the property of interest. This paper for the first time uses linear refinement to construct a new domain instead of just reconstructing an existing one. This domain is designed for definite freeness analysis and consists of sets of dependencies between sets of variables. We provide explicit definitions of the operations for this domain which we show to be safe with respect to the concrete operations. We illustrate how the domain may be used in a practical analysis by means of a small example.

Part of this work was supported by EPSRC grant GR/M05645.

Part of this work was done while Fausto Spoto was visiting the School of Computer Studies of the University of Leeds, UK.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Two Classes of Boolean Functions for Dependency Analysis. Technical report, Monash University, 1995.

    Google Scholar 

  2. A. Bossi, M. Gabbrielli, G. Levi, and M. Martelli. The s-semantics Approach: Theory and Applications. Journal of Logic Programming, 19-20:149–197, 1994.

    Article  MathSciNet  Google Scholar 

  3. M. Bruynooghe and M. Codish. Freeness, Sharing, Linearity and Correctness–All at Once. In P. Cousot, M. Falaschi, G. Filé, and A. Rauzy, editors, Proceedings of the third International Workshop on Static Analysis, volume 724 of Lectures Notes in Computer Science, pages 153–164. Springer-Verlag, 1993.

    Google Scholar 

  4. M. Codish, D. Dams, G. Filé, and M. Bruynooghe. On the Design of a Correct Freeness Analysis for Logic Programs. Journal of Logic Programming, 28(3):181–206, September 1996.

    Article  MATH  MathSciNet  Google Scholar 

  5. A. Cortesi and G. Filé. Abstract Interpretation of Logic Programs: an Abstract Domain for Groundness, Sharing, Freeness and Compoundness Analysis. In Proc. ACM Symposium on Partial Evaluation and Semantics-based Program Transformation, pages 52–61. ACM Press, 1991.

    Google Scholar 

  6. A. Cortesi, G. Filé, and W. Winsborough. Optimal Groundness Analysis Using Propositional Logic. Journal of Logic Programming, 27(2):137–167, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  7. A. Cortesi, G. Filé, and W. Winsborough. The Quotient of an Abstract Interpretation. Theoretical Computer Science, 202(1-2):163–192, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  8. P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2 & 3):103–179, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  9. S.K. Debray. Static Inference of Modes and Data Dependencies in Logic Programs. ACM Transactions on Programming Languages and Systems, 11(3):418–450, July 1989.

    Article  Google Scholar 

  10. Christian Fecht. An Efficient and Precise Sharing Domain for Logic Programs. In Proceedings of PLILP’96 Programming Languages: Implementations, Logics, and Programs Conference, volume 1140 of Lecture Notes in Computer Science, pages 469–470. Springer-Verlag, 1996.

    Google Scholar 

  11. G. Filé, R. Giacobazzi, and F. Ranzato. A Unifying View on Abstract Domain Design. ACM Computing Surveys, 28(2):333–336, 1996.

    Article  Google Scholar 

  12. R. Giacobazzi, F. Ranzato, and F. Scozzari. Building Complete Abstract Interpretations in a Linear Logic-based Setting. In G. Levi, editor, Static Analysis, Proceedings of the Fifth International Static Analysis Symposium SAS 98, volume 1503 of Lecture Notes in Computer Science, pages 215–229. Springer-Verlag, 1998.

    Google Scholar 

  13. R. Giacobazzi and F. Scozzari. A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems, 20(5):1067–1109, 1998.

    Article  Google Scholar 

  14. M. Hermenegildo and F. Rossi. Non-Strict Independent And-Parallelism. In D. H. D. Warren and P. Szeredi, editors, Proc. Seventh Int’l Conf. on Logic Programming, pages 237–252. The MIT Press, 1990.

    Google Scholar 

  15. A. King and P. Soper. Depth-k Sharing and Freeness. In P. Van Hentenryck, editor, Proceedings of the 11th International Conference on Logic Programming, pages 553–568, Santa Margherita Ligure, Italy, 1994.

    Google Scholar 

  16. Anno Langen. Advanced Techniques for Approximating Variable Aliasing in Logic Programs. PhD thesis, University of Southern California, 1991.

    Google Scholar 

  17. Giorgio Levi and Fausto Spoto. An Experiment in Domain Refinement: Type Domains and Type Representations for Logic Programs. In Catuscia Palamidessi, Hugh Glaser, and Karl Meinke, editors, Proceedings of the 10th International Symposium on Programming Languages, Implementations, Logics and Programs, PLILP’98, volume 1490 of Lecture Notes in Computer Science, pages 152–169, Pisa, Italy, September 1998. © Springer-Verlag.

    Google Scholar 

  18. A. Martelli and U. Montanari. An Efficient Unification Algorithm. ACM Transactions on Programming Languages and Systems, 4:258–282, 1982.

    Article  MATH  Google Scholar 

  19. A. Mulkers, W. Simoens, G. Janssesns, and M. Bruynooghe. On the Practicability of Abstract Equation Systems. In L. Sterling, editor, Proceedings of the Twelfth International Conference on Logic Programming, pages 781–795, Kanagawa, Japan, June 1995. The MIT Press.

    Google Scholar 

  20. K. Muthukumar and M. Hermenegildo. Combined Determination of Sharing and Freeness of Program Variables through Abstract Interpretation. In K. Furukawa, editor, Proceedings of the 8th International Conference on Logic Programming, pages 49–63, Paris, 1991. The MIT Press.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. F. Scozzari. Domain Theory in Abstract Interpretation: Equations, Completeness and Logic. PhD thesis, Dipartimento di Matematica, Università di Siena, Italy, 1998.

    Google Scholar 

  23. R. Sundararajan and J. Conery. An Abstract Interpretation Scheme for Groundness, Freeness and Sharing Analysis. In R. Shyamasundar, editor, Conference on Foundations of Software Technology and Theoretical Computer Science, volume 652 of Lectures Notes in Computer Science, pages 203–216, New Delhi, December 1992. Springer-Verlag.

    Google Scholar 

  24. Enea Zaffanella, Roberto Bagnara, and Patricia Hill. Widening Set-Sharing. In Principles and Practice of Declarative Programming, Proceedings of the First International Conference, Lecture Notes in Computer Science, Paris, France, September 1999. Springer-Verlag. To appear.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hill, P., Spoto, F. (1999). Freeness Analysis Through Linear Refinement. In: Cortesi, A., Filé, G. (eds) Static Analysis. SAS 1999. Lecture Notes in Computer Science, vol 1694. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48294-6_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-48294-6_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66459-8

  • Online ISBN: 978-3-540-48294-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics