Skip to main content

Logic program specialisation: How to be more specific

  • Program Transformation
  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics, and Programs (PLILP 1996)

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

Abstract

Standard partial deduction suffers from several drawbacks when compared to top-down abstract interpretation schemes. Conjunctive partial deduction, an extension of standard partial deduction, remedies one of those, namely the lack of side-ways information passing. But two other problems remain: the lack of success-propagation as well as the lack of inference of global success-information. We illustrate these drawbacks and show how they can be remedied by combining conjunctive partial deduction with an abstract interpretation technique known as more specific program construction. We present a simple, as well as a more refined integration of these methods. Finally we illustrate the practical relevance of this approach for some advanced applications, where it surpasses the precision of current abstract interpretation techniques.

Supported by the Belgian GOA “Non-Standard Applications of Abstract Interpretation”

Senior Research Associate of the Belgian Fund for Scientific Research

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. M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. The Journal of Logic Programming, 10:91–124, 1991.

    Google Scholar 

  2. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. The Journal of Logic Programming, 13(2 & 3):103–179, 1992.

    Google Scholar 

  3. S. Debray and D. Warren. Functional computations in logic programs. ACM Transactions on Programming Languages and Systems, 11(3):451–481, 1989.

    Google Scholar 

  4. J. Gallagher. A system for specialising logic programs. Technical Report TR-91-32, University of Bristol, November 1991.

    Google Scholar 

  5. J. Gallagher and D. A. de Waal. Fast and precise regular approximations of logic programs. In P. Van Hentenryck, editor, Proceedings of the International Conference on Logic Programming, pages 599–613. The MIT Press, 1994.

    Google Scholar 

  6. R. Glück, J. Jørgensen, B. Martens, and M. Sørensen. Controlling conjunctive partial deduction of definite logic programs. In this Volume.

    Google Scholar 

  7. N. Heintze. Practical aspects of set based analysis. In Proceedings of the Joint International Conference and Symposium on Logic Programming, pages 765–779, Washington D.C., 1992. MIT Press.

    Google Scholar 

  8. G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. The Journal of Logic Programming, 13(2 & 3):205–258, 1992.

    Google Scholar 

  9. M. Leuschel. The Ecce partial deduction system and the Dppd library of benchmarks. Obtainable via http://www.cs.kuleuven.ac.ba/lpai, 1996.

    Google Scholar 

  10. M. Leuschel, D. De Schreye, and A. de Waal. A conceptual embedding of folding into partial deduction: Towards a maximal integration. In Proceedings of the Joint International Conference and Symposium on Logic Programming, Bonn, Germany, September 1996. MIT Press. To Appear. Extended version as Technical Report CW 225, Departement Computerwetenschappen, K.U. Leuven. Accessible via http://www.cs.kuleuven.ac.be/lpai.

    Google Scholar 

  11. M. Leuschel and B. Martens. Partial deduction of the ground representation and its application to integrity checking. In J. Lloyd, editor, Proceedings of the International Logic Programming Symposium, pages 495–509, Portland, USA, December 1995. MIT Press.

    Google Scholar 

  12. M. Leuschel and B. Martens. Global control for partial deduction through characteristic atoms and global trees. In O. Danvy, R. Glück, and P. Thiemann, editors, Proceedings of the 1996 Dagstuhl Seminar on Partial Evaluation, LNCS, Schloß Dagstuhl, 1996. To Appear.

    Google Scholar 

  13. M. Leuschel and D. Schreye. Logic program specialisation: How to be more specific. Technical Report CW 232, Departement Computerwetenschappen, K.U. Leuven, Belgium, May 1996. Accessible via http://www.cs.kuleuven.ac.be/lpai.

    Google Scholar 

  14. J. W. Lloyd and J. C. Shepherdson. Partial evaluation in logic programming. The Journal of Logic Programming, 11:217–242, 1991.

    Google Scholar 

  15. K. Marriott, L. Naish, and J.-L. Lassez. Most specific logic programs. Annals of Mathematics and Artificial Intelligence, 1:303–338, 1990. Preliminary version in Proceedings of the Joint International Conference and Symposium on Logic Programming, pages 909–923, Seattle, 1988. IEEE, MIT Press.

    Google Scholar 

  16. A. Mulkers, W. Winsborough, and M. Bruynooghe. Live-structure data-flow analysis for Prolog. ACM Transactions on Programming Languages and Systems, 16(2):205–258, 1994.

    Google Scholar 

  17. A. Pettorossi and M. Proietti. Transformation of logic programs: Foundations and techniques. The Journal of Logic Programming, 19 & 20:261–320, May 1994.

    Google Scholar 

  18. M. Proietti and A. Pettorossi. Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs. In J. Małuszyński and M. Wirsing, editors, Proceedings of PLILP'91, LNCS 528, Springer Verlag, pages 347–358, 1991.

    Google Scholar 

  19. T. C. Przymusinksi. On the declarative and procedural semantics of logic programs. Journal of Automated Reasoning, 5(2):167–205, 1989.

    Google Scholar 

  20. V. Turchin. Program transformation with metasystem transitions. Journal of Functional Programming, 3(3):283–313, 1993.

    Google Scholar 

  21. P. Wadler. Deforestation: Transforming programs to eliminate intermediate trees. Theoretical Computer Science, 73:231–248, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Herbert Kuchen S. Doaitse Swierstra

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leuschel, M., De Schreye, D. (1996). Logic program specialisation: How to be more specific. In: Kuchen, H., Doaitse Swierstra, S. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1996. Lecture Notes in Computer Science, vol 1140. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61756-6_82

Download citation

  • DOI: https://doi.org/10.1007/3-540-61756-6_82

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61756-3

  • Online ISBN: 978-3-540-70654-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics