Abstract
We present the rational construction of a generic domain for structural information analysis of CLP languages called Pattern(D♯), where the parameter D♯ is an abstract domain satisfying certain properties. Our domain builds on the parameterized domain for the analysis of logic programs Pat(ℜ), which is due to Cortesi et al. However, the formalization of our CLP abstract domain is independent from specific implementation techniques: Pat(ℜ) (suitably extended in order to deal with CLP systems omitting the occur-check) is one of the possible implementations. Reasoning at a higher level of abstraction we are able to appeal to familiar notions of unification theory. This higher level of abstraction also gives considerable more latitude for the implementer. Indeed, as demonstrated by the results summarized here, an analyzer that incorporates structural information analysis based on our approach can be highly competitive both from the precision and, contrary to popular belief, from the efficiency point of view.
This work has been partly supported by MURST project “Certificazione automatica di programmi mediante interpretazione astratta.” Some of this work was done during a visit of the first and third authors to Leeds, funded by EPSRC under grant M05645.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Bagnara. Data-Flow Analysis for Constraint Logic-Based Languages. PhD thesis, Dipartimento di Informatica, Università di Pisa, Italy, March 1997. 190, 195, 197, 202
R. Bagnara.A hierarchy of constraint systems for data-flow analysis of constraint logicbased languages. Science of Computer Programming, 30(1-2):119–155, 1998. 195
R. Bagnara, P. M. Hill, and E. Zaffanella. Efficient structural information analysis for real CLP languages. Quaderno 229, Dipartimento di Matematica, Università di Parma, 2000. Available at http://www.cs.unipr.it/~bagnara. 198, 198, 199, 199, 200, 200, 201, 201
R. Bagnara, P. M. Hill, and E. Zaffanella. Set-sharing is redundant for pair-sharing. Theoretical Computer Science, 2000. To appear. 202
R. Bagnara and P. Schachte. Factorizing equivalent variable pairs in ROBDD-based implementations of Pos. In A. M. Haeberer, editor, Proc. of the “7th Int'l Conf. on Algebraic Methodology and Software Technology”, vol. 1548 of Lecture Notes in Computer Science, pages 471–485, Amazonia, Brazil, 1999. Springer-Verlag, Berlin. 202
R. Bagnara, E. Zaffanella, and P. M. Hill. Enhancing Sharing for precision. In M. C. Meo and M. Vilares Ferro, editors, Proc. of the “AGP’99 Joint Conf. on Declarative Programming”, pages 213–227, L’Aquila, Italy, 1999. 202
M. Bruynooghe, M. Codish, and A. Mulkers. Abstract unification for a composite domain deriving sharing and freeness properties of program variables. In F. S.de Boer and M. Gabbrielli, editors, Verification and Analysis of Logic Languages, Proc. of the W2 Post-Conference Workshop, Int'l Conf. on Logic Programming, pages 213–230, Santa argherita igure, Italy, 1994. 205
M. Codish, K. Marriott, and C. Taboch. Improving program analyses by structure untupling. Journal of Logic Programming, 43(3):251–263, 2000. 192, 206, 206, 206
A. Colmerauer. Prolog and infinite trees. In K. L. Clark and S. Å. Tärnlund, editors, Logic Programming, APIC Studies in Data Processing, vol. 16, pages 231–251. Academic Press, New York, 1982. 190, 191
A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Conceptual and software support for abstract domain design: Generic structural domain and open product. Technical Report CS-93-13, Brown University, Providence, RI, 1993. 191, 206 a]11._A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combinations of abstract domains for logic programming: Open product and generic pattern construction. Science of Computer Programming, 38(1-3), 2000. 191, 191, 191, 198, 206, 206
P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, 1992. 194, 196, 197
P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In M. Bruynooghe and M. Wirsing, editors, Proc. of the 4th Int'l Symp. on Programming Language Implementation and Logic Programming, vol. 631 of Lecture Notes in Computer Science, pages 269–295, Leuven, lgium, 1992. Springer-Verlag, Berlin. 201
R. Giacobazzi, S. K. Debray, and G. Levi. Generalized semantics and abstract interpretation for constraint logic programs. Journal of Logic Programming, 25(3):191–247, 1995. 195
P. M. Hill, R. Bagnara, and E. Zaffanella. The correctness of set-sharing. In G. Levi, editor, Static Analysis: Proc. of the 5th Int'l Symp., vol. 1503 of Lecture Notes in Computer Science, pages 99–114, Pisa, Italy, 1998. Springer-Verlag, Berlin. 202
J. Jaffar and M. Maher. Constraint logic programming: A survey. Journal of Logic Programming, 19&amt;20:503–582, 1994. 190, 191, 193, 195, 198
J. Jaffar, S. Michaylov, P. Stuckey, and R. Yap. The CLP(R) language and system. ACM Transactions on Programming Languages and Systems, 14(3):339–395, 1992. 193
J.-L. Lassez, M. J. Maher, and K. Marriott. Unification revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 587–625. Morgan Kaufmann, Los Altos, Ca., 1988. 191, 194
A. Mulkers, W. Simoens, G. Janssens, and M. Bruynooghe. On the practicality of abstract equation systems. Report CW 198, Department of Computer Science, K. U. Leuven, Belgium, 1994. 205
A. Mulkers, W. Simoens, G. Janssens, and M. Bruynooghe. On the practicality of abstract equation systems. In L. Sterling, editor, Logic Programming: Proc. of the 12th Int'l Conf. on Logic Programming, MIT Press Series in Logic Programming, pages 781–795, Kanagawa, Japan, 1995. The MIT Press. 205
K. Musumbu. Interprétation Abstraite des Programmes Prolog. PhD thesis, Institut d'Informatique, Facultés Univ. Notre-Dame de la Paix, Namur, Belgium, 1990. 191
E. Zaffanella, R. Bagnara, and P. M. Hill. Widening Sharing. In G. Nadathur, editor, Principles and Practice of Declarative Programming, vol. 1702 of Lecture Notes in Computer Science, pages 414–431, Paris, 1999. Springer-Verlag, Berlin. 202
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bagnara, R., Hill, P.M., Zaffanella, E. (2000). Efficient Structural Information Analysis for Real CLP Languages. In: Parigot, M., Voronkov, A. (eds) Logic for Programming and Automated Reasoning. LPAR 2000. Lecture Notes in Artificial Intelligence(), vol 1955. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44404-1_13
Download citation
DOI: https://doi.org/10.1007/3-540-44404-1_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41285-4
Online ISBN: 978-3-540-44404-6
eBook Packages: Springer Book Archive