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.
Preview
Unable to display preview. Download preview PDF.
References
Biermann A., On the inference of Turing machines from sample computations, Artificial Intelligence, Vol. 3, 1972.
Brough D.R., Walker A., Some practical properties of logic programming interpreters, in Proc. FGCS conference, 1984, pp. 149–156.
Bruynooghe M., De Schreye D. and Krekels B., Compiling Control, Proc.Third International Symposium on Logic Programming, 1986, pp. 70–78.
Bruynooghe M., De Schreye D. and Krekels B., Compiling Control, J.Logic Programming, to appear.
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.
Bruynooghe M., A framework for the abstract interpretation of logic programs, report CW62, 1987, K.U.Leuven.
Burstall R.M. and Darlington J., A transformation system for developing recursive programs, JACM, 24, 1977, pp. 44–67.
Clark K.I., McCabe F.G., Gregory S., IC-Prolog language features, Logic programming, ed. Clark/Tarnlund, 1982, pp. 254–266.
Colmerauer A., Prolog II, manuel de reference et modele theoretique, Marseille, 1982.
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.
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.
Debray S.K., Warren D.S., Automatic mode inferencing for Prolog programs, Proc.Third International Symposium on Logic Programming, 1986, pp. 78–88.
De Schreye D., Bruynooghe M. On the transformation of logic programs with instantiation based computation rules, J.Symbolic Computation, to appear.
Fronhofer B., Double work as a reason for inefficiency of programs, Technical report T.U.M. Munchen, 1987.
Fujita H., Abstract interpretation and partial evaluation of prolog programs, ICOT technical report, 1986.
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.
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.
Genesereth M.R. and Ginsberg M.L., Logic Programming, CACM 28(9), Sept. 1985, pp. 933–941.
Gregory S., Towards the compilation of annotated logic programs, Res.Report DOC80/16, June 1980, Imperial College.
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.
Kanamari T., Kawamura T., Analyzing success patterns of Logic programs by abstract hybrid interpretation, ICOT technical report, TR 279, 1987.
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.
Naish L., Automating control for logic programs, J. Logic Programming 2, 1985, pp. 167–183.
Narain S., A technique for doing lazy evaluation in Logic, J.Logic Programming 3 (3), 1986, pp. 259–276.
Pelhat S., Analysis and control of recursivity in Prolog programs, Technical report CRIL, Universite de Paris-sud, 1987.
Pereira L.M., Logic control with logic, in Implementations of Prolog, ed. Cambell, Ellis, Horwood, 1984, pp.177–193.
Sato T., Tamaki H., Transformational logic program synthesis, FGCS '84, Tokyo, 1984.
Turchin V.F., The concept of a supercompiler, ACM Transactions on Programming Languages and Systems 8 (3), 1986, pp. 292–325.
Van Hentenryck P., Consistency techniques in logic programming, Ph.D. thesis FUNDF, Namur, Belgium, 1987.
Warren D.H.D., Coroutining facilities for Prolog, implemented in Prolog, DAI working paper, Edinburgh, 1979.
Author information
Authors and Affiliations
Editor information
Rights 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