Abstract
We propose an automatic method for derivinglinear size relations, which specify, with respect to some given norm, linear relationships between the sizes of the arguments of atoms in the least Herbrand model of a definite Horn clause program. The method is presented as an application of abstract interpretation. Its abstract domain consists of affine subspaces or linear varieties, and operations on elements of the domain are expressed in terms of operations from linear algebra. The main application of the technique is situated in automatic termination analysis. Others are complexity and granularity analysis and the specialisation of constraints in constraint logic languages.
Similar content being viewed by others
References
Barbuti, R., Giacobazzi, R., and Levi, G., “A General Framework for Semanties-Based Bottom-up Abstract Interpretation of Logic Programs,”ACM Transactions on Programming Languages and Systems, 15, 1, pp. 133–181, 1991.
Bossi, A., Cocco, N., and Fabris, M., “Norms on Terms and Their Use in Proving Universal Termination of a Logic Program,”Theoretical Computer Science, 124, 2, pp. 297–328, 1994.
Brodsky, A. and Sagiv, Y., “Inference of Inequality Constraints in Logic Programs,” inProceedings of the 10th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Denver, Colorado, pp. 227–240, 1991.
Bruynooghe, M., “A Framework for the Abstract Interpretation of Logic Programs,”Technical Report CW-report, Department of Computer Science, K. U. Leuven, 1989.
Bruynooghe, M., “A Practical Framework for the Abstract Interpretation of Logic Programs,”Journal of Logic Programming, 10, 2, pp. 91–124, 1991.
Bruynooghe, M. and Boulanger, D., “Abstract Interpretation for (Constraint) Logic Programming,” inCosntraint Programming (E. Tyogu, B. Mayoh and J. Penjam, eds.), NATO Advanced Science Series, Springer-Verlag, pp. 228–260, 1994.
Bruynooghe, M., Dumortier, V., and Janssens, G., “Improving the Efficiency of Constraint Logic Programming Languages by Deriving Specialized Versions,” inProceedings PDK’91, LNAI567, Kaiserslautern, Springer-Verlag, pp. 309–317, 1991.
Cousot, P. and Cousot, R., “Abstract Interpretation and Application to Logic Programming,”Journal of Logic Programming, 13, 2 & 3, pp. 103–180, 1992.
Cousot, P. and Halbwachs, N., “Automatic Discovery of Linear Restraints among Variables of a Program,” inProceedings 5th ACM Symposium on Principles of Programming Languages, pp. 84–96, 1978.
De Schreye, D. and Decorte, S., “Termination of Logic Programs: The Never-Ending Story,”Journal of Logic Programming, pp. 199–261, 1994.
De Schreye, D., Verschaetse, K., and Bruynooghe, M., “A Framework for Analysing the Termination of Definite Logic Programs with Respect to Call Patterns,” inProceedings FGCS’92, Tokyo, ICOT, pp. 481–488, 1992.
Debray, S. K. and Lin, N.-W., “Automatic Complexity Analysis of Logic Programs,” inProceedings ICLP’91, pp. 599–613, 1991.
Debray, S. K., Lin, N.-W., and Hermenegildo, M., “Task Granularity Analysis in Logic Programs,” inProceedings ACM SIGPLAN’90 Conference on Programming Language Design and Implementation, pp. 174–188, 1990.
Falaschi, M., Levi, G., Martelli, M., and Palamidessi, C., “Declatative Modeling of the Operational Behaviour of Logic Languages,”Theoretical Computer Science, 69, 3, pp. 289–318, 1989.
Gill, P. E., Murray, W., and Wright, M. H.,Numerical Linear Algebra and Optimizaiton, Volume 1, Addsion-Wesley, 1991.
Janssens, G. and Bruynooghe, M., “Deriving descriptions of Possible Values of Program Variables by Means of Abstract Interpretation,”Journal of Logic Programming, 13, 2 & 3, pp. 205–258, 1992.
Karr, M., “Affine Relationships among Variables of a Program,”Acta Informatica, 6, pp. 133–151, 1976.
Marriott, K. and Søndergaard, H., “Bottom-up Abstract Interpretation of Logic Programs,” inProceedings ICSLP, 88 (R. A. Kowalski and K. A. Bowen, eds.), Seattle, MIT Press, pp. 733–748, 1988.
Millroth, H., “Reforming Compilation of Logic Programs,”Ph. D thesis, UPMAIL Computing Science Department, Uppsala University, 1990. [To appear inLNCS, Springer-Verlag.]
Plümer, L., “Termination Proofs for Logic Programs,”Number 446 in LNAI, Springer-Verlag, 1990.
Schrijver, A.,Theory of Linear and Interger Programming, Wiley & Sons, 1986.
Ullman, J. D. and Van Gelder, A., “Efficient Tests for Top-down Termination of Logical Rules,”Journal ACM, 35, 2, pp. 345–373, 1988.
Van Gelder, A., “Deriving Constraints among Arguments Sizes in Logic Programs,” inProceedings PODS91, ACM Press, pp. 47–60, 1991.
Verschaetse, K., “Static Termination Analysis for Definite Horn Clause Programs,”Ph. D thesis, Department of Computer Science, K. U. Leuven, 1992.
Verschaetse, K. and De Schreye, D., “Deriving Termination Proofs for Logic Programs, Using Abstract Procedures,” inProceedings ICLP’91, Paris, MIT Press, pp. 301–315, 1991.
Verschaetse, K. and De Schreye, D., “Derivation of Linear Size Relations by Abstract Interpretation,” inProceedings PLILP’92, LNCS (M. Bruynooghe and M. Wirsing, eds.), Leuven, Springer-Verlag, pp. 296–310, 1992.
Verschaetse, K., Decorte, S., and De Schreye, D., “Automatic Termination Analysis,” inProceedings LOPSTR’92, LNCS (K. K. Lau and T. Clement, eds.), Springer-Verlag, 1993.
Author information
Authors and Affiliations
Additional information
Work partly supported by Esprit Project Compulog II, Contract No. 6810.
Senior research associate of the Belgian National Fund for Scientific Research.
Partly supported by Esprit Project Compulog, Contract No. 3012 and by RFO/AI/02 (Belgium).
Danny De Schreye, Ph. D.: He is a professor at the Department of Computer Science of the Katholieke Universiteit Leuven and a senior research associate of the Belgian National Fund for Scientific Research. He obtained his Ph. D from K. U. Leuven in 1983, on the topic of operator algebras. His research interests are in the field of Logic Programming, and include program transformation and termination, knowledge representation and reasoning, and constraint programming.
Kristof Verschaetse, Ph. D.: He obtained his Ph. D from K. U. Leuven in 1992. His main research topic is termination analysis of logic programs, including formal characterisation of terminating programs and the development of verification tools. Other interests are object oriented analysis and design, and the integration of constraint programming in object orientation.
About this article
Cite this article
De Schreye, D., Verschaetse, K. Deriving linear size relations for logic programs by abstract interpretation. New Gener Comput 13, 117–154 (1995). https://doi.org/10.1007/BF03038311
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03038311