Skip to main content

An application of abstract interpretation in source level program transformation

  • Abstract Interpretation In Logic Programming
  • Conference paper
  • First Online:
Book cover Programming Languages Implementation and Logic Programming (PLILP 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 348))

  • 165 Accesses

Abstract

We describe an application of abstract interpretation within the field of source-to-source program transformation for pure Horn clause logic programs. Using a very concrete setting, we aim to provide a comprehensible introduction to the technique of abstract interpretation, particularly suited for the novice in the field. Also, we argue that abstract interpretation is not only suited for applications in code optimization, but provides an excellent tool to support techniques in source level program transformation.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Biermann A., On the inference of Turing machines from sample computations, Artificial Intelligence, Vol. 3, 1972.

    Google Scholar 

  2. Brough D.R., Walker A., Some practical properties of logic programming interpreters, in Proc. FGCS conference, 1984, pp. 149–156.

    Google Scholar 

  3. Bruynooghe M., De Schreye D. and Krekels B., Compiling Control, Proc.Third International Symposium on Logic Programming, 1986, pp. 70–78.

    Google Scholar 

  4. Bruynooghe M., De Schreye D. and Krekels B., Compiling Control, J.Logic Programming, to appear.

    Google Scholar 

  5. Bruynooghe M., Janssens G., Callebout A., Demoen B., Abstract interpretation: towards the global optimisation of Prolog programs, Proc. Fourth International Symposium on Logic Programming, 1987.

    Google Scholar 

  6. Bruynooghe M., A framework for the abstract interpretation of logic programs, report CW62, 1987, K.U.Leuven.

    Google Scholar 

  7. Burstall R.M. and Darlington J., A transformation system for developing recursive programs, JACM, 24, 1977, pp. 44–67.

    Google Scholar 

  8. Clark K.I., McCabe F.G., Gregory S., IC-Prolog language features, Logic programming, ed. Clark/Tarnlund, 1982, pp. 254–266.

    Google Scholar 

  9. Colmerauer A., Prolog II, manuel de reference et modele theoretique, Marseille, 1982.

    Google Scholar 

  10. Cousot P., Cousot R., Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximation of fixpoints, in Proc. 4th ACM POPL symposium, 1977, pp. 238–252.

    Google Scholar 

  11. Darlington J., Pull H., A program development methodology based on a unified approach to execution and transformation, in Proc.workshop on partial evaluation and mixed computation, 1987, Denmark.

    Google Scholar 

  12. Debray S.K., Warren D.S., Automatic mode inferencing for Prolog programs, Proc.Third International Symposium on Logic Programming, 1986, pp. 78–88.

    Google Scholar 

  13. De Schreye D., Bruynooghe M. On the transformation of logic programs with instantiation based computation rules, J.Symbolic Computation, to appear.

    Google Scholar 

  14. Fronhofer B., Double work as a reason for inefficiency of programs, Technical report T.U.M. Munchen, 1987.

    Google Scholar 

  15. Fujita H., Abstract interpretation and partial evaluation of prolog programs, ICOT technical report, 1986.

    Google Scholar 

  16. Gallagher J., Codish M., Specialisation of Prolog and FCP programs using abstract interpretation, in Proceedings of the workshop on partial evaluation and mixed computation, 1987, Denmark.

    Google Scholar 

  17. Gallaire H. and Laserre C., A control meta language for logic programming, in LogicProgramming, eds. Clark L. and Tarnlund S.A., Academic Press, 1982, pp. 173–185.

    Google Scholar 

  18. Genesereth M.R. and Ginsberg M.L., Logic Programming, CACM 28(9), Sept. 1985, pp. 933–941.

    Google Scholar 

  19. Gregory S., Towards the compilation of annotated logic programs, Res.Report DOC80/16, June 1980, Imperial College.

    Google Scholar 

  20. Jones N.D., Sondergaard H., A semantics based framework for the abstract interpretation of Prolog, in Abstract interpretation of declarative languages, eds. Abramsky S. and Hankin C., Ellis Horwood, in print.

    Google Scholar 

  21. Kanamari T., Kawamura T., Analyzing success patterns of Logic programs by abstract hybrid interpretation, ICOT technical report, TR 279, 1987.

    Google Scholar 

  22. Mellish C.S., Abstract interpretation of prolog programs, in Proc. 3rd International Conference on Logic Programming, 1986, LNCS 225, Springer-Verlag, 1986, pp. 463–474.

    Google Scholar 

  23. Naish L., Automating control for logic programs, J. Logic Programming 2, 1985, pp. 167–183.

    Google Scholar 

  24. Narain S., A technique for doing lazy evaluation in Logic, J.Logic Programming 3 (3), 1986, pp. 259–276.

    Google Scholar 

  25. Pelhat S., Analysis and control of recursivity in Prolog programs, Technical report CRIL, Universite de Paris-sud, 1987.

    Google Scholar 

  26. Pereira L.M., Logic control with logic, in Implementations of Prolog, ed. Cambell, Ellis, Horwood, 1984, pp.177–193.

    Google Scholar 

  27. Sato T., Tamaki H., Transformational logic program synthesis, FGCS '84, Tokyo, 1984.

    Google Scholar 

  28. Turchin V.F., The concept of a supercompiler, ACM Transactions on Programming Languages and Systems 8 (3), 1986, pp. 292–325.

    Google Scholar 

  29. Van Hentenryck P., Consistency techniques in logic programming, Ph.D. thesis FUNDF, Namur, Belgium, 1987.

    Google Scholar 

  30. Warren D.H.D., Coroutining facilities for Prolog, implemented in Prolog, DAI working paper, Edinburgh, 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. Deransart B. Lorho J. Małuszyński

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

De Schreye, D., Bruynooghe, M. (1989). An application of abstract interpretation in source level program transformation. In: Deransart, P., Lorho, B., Małuszyński, J. (eds) Programming Languages Implementation and Logic Programming. PLILP 1988. Lecture Notes in Computer Science, vol 348. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50820-1_39

Download citation

  • DOI: https://doi.org/10.1007/3-540-50820-1_39

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50820-5

  • Online ISBN: 978-3-540-46092-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics