Abstract
Regular approximation is a well-known and useful analysis technique for conventional logic programming. Given the existence of constraint solving techniques, one may wish to obtain more precise approximations of programs while retaining the decidable properties of the approximation. Greater precision could increase the effectiveness of applications that make use of regular approximation, such as the detection of useless clauses and type analysis. In this paper, we introduce arithmetic constraints, based on convex polyhedra, into regular approximation. In addition, Herbrand constraints can be introduced to capture dependencies among arguments.
Preview
Unable to display preview. Download preview PDF.
We’re sorry, something doesn't seem to be working properly.
Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.
References
F. Benoy and A. King. Inferring argument size relations with CLP(R). In Proceedings of the 6th International Workshop on Logic Program Synthesis and Transformation (LOPSTR-96); Sweden. Springer-Verlag, 1996.
P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming, PLILP’92, Leuven, Belgium, volume 631 of lncs, pages 269–295. Springer-Verlag, 1992.
P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In Proceedings of the 5th Annual ACM Symposium on Principles of Programming Languages, pages 84–96, 1978.
B. De Backer and H. Beringer. A CLP language handling disjunctions of linear constraints. In Proceedings of the International Conference on Logic Programming (ICLP’93), pages 550–563. MIT Press, 1993.
J. Gallagher, D. Boulanger, and H. Sağlam. Practical model-based static analysis for definite logic programs. In J. W. Lloyd, editor, Proc. of International Logic Programming Symposium, pages 351–365. MIT Press, 1995.
J. Gallagher and D. A. de Waal. Fast and precise regular approximation of logic programs. In P. Van Hentenryck, editor, Proceedings of the International Conference on Logic Programming (ICLP’94), Santa Margherita Ligure, Italy, pages 599–613. MIT Press, 1994.
N. Halbwachs, Y. E. Proy, and P. Raymond. Verification of linear hybrid systems by means of convex approximations. In Proceedings of the First Symposium on Static Analysis, volume 864 of lncs, pages 223–237. Springer-Verlag, September 1994.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. Journal of Logic Programming, 22(3):179–210, 1994.
G. Janssens, M. Bruynooghe, and V. Englebert. Abstracting numerical values in CLP(H,N). Technical Report CW189, K.U. Leuven, Belgium, 1994.
K. Marriott and P.J. Stuckey. The 3 R’s of optimizing constraint logic programs: Refinement, removal and reordering. In Proceedings of the 20th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages; Charleston, South Carolina, pages 334–344, January 1993.
P. Mishra. Towards a theory of types in prolog. In Proceedings of the IEEE International Symposium on Logic Programming, 1984.
G. Plotkin. A note on inductive generalisation. In B. Meltzer and D. Michie, editors, Machine Intelligence, Vol.5. Edinburgh University Press, 1974.
J. C. Reynolds. Transformational systems and the algebraic structure of atomic formulas. In B. Meltzer and D. Michie, editors, Machine Intelligence, Vol.5. Edinburgh University Press, 1974.
H. Sağlam. Static analysis of logic programs by abstract compilation into CLP. In Proceedings of the Eighth European Summer School on Logic, Language and Information, ESSLLI’96 Student Session. Czech Technical University, Prague, Czech Republic, 1996.
H. Sağlam and J. Gallagher. Approximating logic programs using types and regular descriptions. Technical Report CSTR-94-19, University of Bristol, Department of Computer Science, 1994.
H. Sağlam and J. Gallagher. Approximating constraint logic programs using polymorphic types and regular descriptions. In Proceedings of the 7th International Symposium on Programming Languages, Implementations, Logics and Programs, PLILP’95 (poster abstract), Utrecht, Holland; (full version is Technical Report CSTR-95-016, Department of Computer Science, University of Bristol), 1995.
H. Sağlam and J. Gallagher. Proving properties of terms using abstract compilation into CLP. In Proceedings of JICSLP’96 post conference Workshop on Meta Programming and Metareasoning in Logic, META’96. Uppsala University, Uppsala, Sweden, 1996.
H. Sağlam and J. Gallagher. Static analysis of logic programs using CLP as a meta-language. Technical Report CSTR-96-003, University of Bristol, Department of Computer Science, 1996.
A. van Gelder. Deriving constraints among argument sizes in logic programs. In Principles of Database Systems; Nashville, Tennessee, pages 47–60, 1990.
K. Verschaetse and D. De Schreye. Derivation of linear size relations by abstract interpretation. In Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming, PLILP’92, Leuven, Belgium, volume 631 of lncs, pages 296–310. Springer-Verlag, 1992.
E. Yardeni and E.Y. Shapiro. A type system for logic programs. Journal of Logic Programming, 10(2):125–154, 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sağlam, H., Gallagher, J.P. (1998). Constrained Regular Approximation of Logic Programs. In: Fuchs, N.E. (eds) Logic Program Synthesis and Transformation. LOPSTR 1997. Lecture Notes in Computer Science, vol 1463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49674-2_15
Download citation
DOI: https://doi.org/10.1007/3-540-49674-2_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65074-4
Online ISBN: 978-3-540-49674-8
eBook Packages: Springer Book Archive