Abstract
We propose an opportunistic approach for performing program analysis and optimisation: opportunities for improving a logic program are systematically attempted, either by examining its procedures in an isolated fashion, or by checking for conjunctions within clauses that can be used as joint specifications. Opportunities are represented as enhanced schema-based transformations, generic descriptions of inefficient programming constructs and of how these should be altered in order to confer a better computational behaviour on the program. The programming constructs are described in an abstract manner using an enhanced schema language which allows important features to be highlighted and irrelevant details to be disregarded.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This work was carried out within the European Human Capital and Mobility Scheme (contract No. CHRX-CT 93-00414/BBW 93.0268) while the first author was visiting the Institut für Informatik, Universität Zürich.
PhD Student, Department of Artificial Intelligence, University of Edinburgh, Scotland, U.K., sponsored by the Brazilian National Research Council (CNPq, grant No. 201340/91-7), on leave from UECE/Ceará, Brazil.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
A. Bowles, D. Robertson, W. Vasconcelos, M. Vargas-Vera, D. Bental. Applying Prolog Programming Techniques. International Journal of Human-Computer Studies, 41(3):329–350, September 1994.
P. Flener. Logic Program Schemata: Synthesis and Analysis. Technical Report BU-CEIS-9502, Bilkent University, Ankara, Turkey, 1995.
P. Flener, Y. Deville. Logic Program Transformation through Generalization Schemata. Extended abstract accepted for LoPSTr'95 (Utrecht, the Netherlands, 20–22 September, 1995)
N. E. Fuchs and M. P. J. Fromherz. Schema-Based Transformations of Logic Programs. In: Proceedings of the Workshop in Logic Program Synthesis and Transformation (LoPSTr'91), Springer-Verlag, 1992.
T. S. Gegg-Harrison. Learning Prolog in a Schema-Based Environment. Instructional Science, 20:173–192, 1991.
M. Kirschenbaum, S. Michaylov, and L. Sterling. Skeletons and Techniques as a Normative Approach to Program Development in Logic-Based Languages. OSU-CISRC-5/94-TR25, Dept. of Computer and Information Science, Ohio State University, Ohio, U.S.A., 1994.
A. Lakhotia and L. Sterling. How to Control Unfolding when Specialising Interpreters. In The Practice of Prolog, L. Sterling (Ed.), MIT Press, 1990.
H. R. Nielson and F. Nielson. Eureka Definitions for Free — Disagreement Points for Fold/Unfold Transformations. In Proceedings of ESOP'90, Lecture Notes in Computer Science 432, pp. 291–305, Springer-Verlag, 1990.
R. A. O'Keefe. The Craft of Prolog. MIT Press, 1990.
M. Proietti and A. Pettorossi. Synthesis of Eureka Predicates for Developing Logic Programs. In Proceedings of ESOP'90, Lecture Notes in Computer Science 432, pp. 306–325, Springer-Verlag, 1990.
D. Robertson. A Simple Prolog Techniques Editor for Novice Users. In Proceedings of 3rd Annual Conference on Logic Programming, Edinburgh, Scotland, April 1991. Springer-Verlag.
L. Sterling and E. Y. Shapiro. The Art of Prolog: Advanced Programming Techniques. Second Edition. MIT Press, 1994.
M. Vargas-Vera. Using Prolog Techniques to Guide Program Composition. PhD Thesis. University of Edinburgh. Edinburgh, Scotland, 1995.
M. Vargas-Vera, D. Robertson, W. W. Vasconcelos. Building Large-Scale Prolog Programs using a Techniques Editing System. Technical Report 635. Department of Artificial Intelligence, University of Edinburgh. Edinburgh, Scotland, 1993.
W. W. Vasconcelos and N. E. Fuchs. Opportunistic Logic Program Analysis and Optimisation: Enhanced Schema-Based Transformations for Logic Programs and their Usage in an Opportunistic Framework for Program Analysis and Optimisation. Technical Report 95-24. Institut für Informatik, Universität Zürich, August 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vasconcelos, W.W., Fuchs, N.E. (1996). An opportunistic approach for logic program analysis and optimisation using enhanced schema-based transformations. In: Proietti, M. (eds) Logic Program Synthesis and Transformation. LOPSTR 1995. Lecture Notes in Computer Science, vol 1048. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60939-3_14
Download citation
DOI: https://doi.org/10.1007/3-540-60939-3_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60939-1
Online ISBN: 978-3-540-49745-5
eBook Packages: Springer Book Archive