Skip to main content
Log in

Deriving linear size relations for logic programs by abstract interpretation

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

    Article  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

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

  4. Bruynooghe, M., “A Framework for the Abstract Interpretation of Logic Programs,”Technical Report CW-report, Department of Computer Science, K. U. Leuven, 1989.

  5. Bruynooghe, M., “A Practical Framework for the Abstract Interpretation of Logic Programs,”Journal of Logic Programming, 10, 2, pp. 91–124, 1991.

    Article  MATH  MathSciNet  Google Scholar 

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

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

  8. Cousot, P. and Cousot, R., “Abstract Interpretation and Application to Logic Programming,”Journal of Logic Programming, 13, 2 & 3, pp. 103–180, 1992.

    Article  MATH  MathSciNet  Google Scholar 

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

  10. De Schreye, D. and Decorte, S., “Termination of Logic Programs: The Never-Ending Story,”Journal of Logic Programming, pp. 199–261, 1994.

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

  12. Debray, S. K. and Lin, N.-W., “Automatic Complexity Analysis of Logic Programs,” inProceedings ICLP’91, pp. 599–613, 1991.

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

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

    Article  MATH  MathSciNet  Google Scholar 

  15. Gill, P. E., Murray, W., and Wright, M. H.,Numerical Linear Algebra and Optimizaiton, Volume 1, Addsion-Wesley, 1991.

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

    Article  MATH  MathSciNet  Google Scholar 

  17. Karr, M., “Affine Relationships among Variables of a Program,”Acta Informatica, 6, pp. 133–151, 1976.

    Article  MATH  MathSciNet  Google Scholar 

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

    Google Scholar 

  19. Millroth, H., “Reforming Compilation of Logic Programs,”Ph. D thesis, UPMAIL Computing Science Department, Uppsala University, 1990. [To appear inLNCS, Springer-Verlag.]

  20. Plümer, L., “Termination Proofs for Logic Programs,”Number 446 in LNAI, Springer-Verlag, 1990.

  21. Schrijver, A.,Theory of Linear and Interger Programming, Wiley & Sons, 1986.

  22. Ullman, J. D. and Van Gelder, A., “Efficient Tests for Top-down Termination of Logical Rules,”Journal ACM, 35, 2, pp. 345–373, 1988.

    Article  Google Scholar 

  23. Van Gelder, A., “Deriving Constraints among Arguments Sizes in Logic Programs,” inProceedings PODS91, ACM Press, pp. 47–60, 1991.

  24. Verschaetse, K., “Static Termination Analysis for Definite Horn Clause Programs,”Ph. D thesis, Department of Computer Science, K. U. Leuven, 1992.

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

    Google Scholar 

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

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

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

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03038311

Key words

Navigation