Abstract
The comparatively small size and clean declarative semantics of logic programs hide performance issues that must be accounted for if the programs are to be executed using the currently available technology. Proposals have been made to tackle these computational issues by analysing a program and trying to optimise its code. We introduce a bottom-up method for analysing logic programs. The method incrementally builds self-contained subtheories of the initial program, starting from facts and then picking up more complex clauses that depend on simpler, previously analysed constructs. A transformation system is then applied to these subtheories yielding more efficient subprograms. Eventually a subtheory that encompasses the full initial program is obtained.
This work was partially carried out while the first author was visiting the Department of Artificial Intelligence, University of Edinburgh, Scotland, Great Britain.
Sponsored by the Brazilian Research Council (CNPq), grant n∘ 300.968/95-7.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
N. E. Fuchs and M. P. J Fromherz. Schema-Based Transformations of Logic Programs. In Proceedings of the International Workshop on Logic Program Synthesis and Transformation (LoPSTr'92). Springer-Verlag, 1992.
J. P. Gallagher. A Bottom-Up Analysis Toolkit. Technical report, Dept. Comp. Sci., Univ. of Bristol, 1995. Invited talk given at WAILL (Workshop on Abstract Interpretation of Logic Languages), Israel.
G. Huet and B. Lang. Proving and Applying Program Transformations Expressed with Second-Order Patterns. Acta Informatica, 11:31–55, 1978.
A. Lakhotia and L. Sterling. How to Control Unfolding when Specialising Interpreters. In L. Sterling, editor, The Practice of Prolog. MIT Press, 1990.
M. Proietti and A. Pettorossi. Best-first Strategies for Incremental Transformations of Logic Programs. In Proceedings of the Second International Workshop on Logic Program Synthesis and Transformation (LoPSTr'92), 1992.
M. Proietti and A. Pettorossi. Transformations of Logic Programs: Foundations and Techniques. Journal of Logic Programming, 19, 20:261–320, 1994.
D. Robertson. A Simple Prolog Techniques Editor for Novice Users. In 3rd Annual Conference on Logic Programming, Edinburgh, Scotland, April 1991. Springer-Verlag.
W. W. Vasconcelos and M. T. Aragão. Proving Schema-Based Transformations for Logic Programs. Extended Abstract, 1996. Available from authors.
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. Tech. Rep. 95.24, IFI, Univ. Zürich, 1995.
W. W. Vasconcelos and N. E. Fuchs. An Opportunistic Approach for Logic Program Analysis and Optimisation using Enhanced Schema-Based Transformations. In Proc. 5th Int'l Workshop on Logic Program Synthesis and Transformation (LoPSTr'95), The Netherlands, 1996. Springer-Verlag.
W. W. Vasconcelos and N. E. Fuchs. Prolog Program Development via Enhanced Schema-Based Transformations. Technical report, Department of Artificial Intelligence, University of Edinburgh, 1996.
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., Aragão, M.A.T., Fuchs, N.E. (1996). Automatic bottom-up analysis and transformation of logic programs. In: Borges, D.L., Kaestner, C.A.A. (eds) Advances in Artificial Intelligence. SBIA 1996. Lecture Notes in Computer Science, vol 1159. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61859-7_20
Download citation
DOI: https://doi.org/10.1007/3-540-61859-7_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61859-1
Online ISBN: 978-3-540-70742-4
eBook Packages: Springer Book Archive