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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Two Classes of Boolean Functions for Dependency Analysis. Technical report, Monash University, 1995.
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.
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.
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.
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.
A. Cortesi, G. Filé, and W. Winsborough. Optimal Groundness Analysis Using Propositional Logic. Journal of Logic Programming, 27(2):137–167, 1996.
A. Cortesi, G. Filé, and W. Winsborough. The Quotient of an Abstract Interpretation. Theoretical Computer Science, 202(1-2):163–192, 1998.
P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2 & 3):103–179, 1992.
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.
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.
G. Filé, R. Giacobazzi, and F. Ranzato. A Unifying View on Abstract Domain Design. ACM Computing Surveys, 28(2):333–336, 1996.
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.
R. Giacobazzi and F. Scozzari. A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems, 20(5):1067–1109, 1998.
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.
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.
Anno Langen. Advanced Techniques for Approximating Variable Aliasing in Logic Programs. PhD thesis, University of Southern California, 1991.
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.
A. Martelli and U. Montanari. An Efficient Unification Algorithm. ACM Transactions on Programming Languages and Systems, 4:258–282, 1982.
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.
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.
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.
F. Scozzari. Domain Theory in Abstract Interpretation: Equations, Completeness and Logic. PhD thesis, Dipartimento di Matematica, Università di Siena, Italy, 1998.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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