A Framework for the Integration of Partial Evaluation and Abstract Interpretation of Logic Programs
A Framework for the Integration of Partial Evaluation and Abstract Interpretation of Logic Programs
Recently the relationship between abstract interpretation and program specialization has received a lot of scrutiny, and the need has been identified to extend program specialization techniques so to make use of more refined abstract domains and operators. This paper clarifies this relationship in the context of logic programming, by expressing program specialization in terms of abstract interpretation. Based on this, a novel specialization framework, along with generic correctness results for computed answers and finite failure under SLD-resolution, is developed. This framework can be used to extend existing logic program specialization methods, such as partial deduction and conjunctive partial deduction, to make use of more refined abstract domains. It is also shown how this opens up the way for new optimizations. Finally, as shown in the paper, the framework also enables one to prove correctness of new or existing specialization techniques in a simpler manner. The framework has already been applied in the literature to develop and prove correct specialization algorithms using regular types, which in turn have been applied to the verification of infinite state process algebras.
Partial Deduction, Partial Evaluation, Program Transformation, Abstract Interpretation, Logic Programming, Flow analysis
413-463
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
May 2004
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Leuschel, Michael
(2004)
A Framework for the Integration of Partial Evaluation and Abstract Interpretation of Logic Programs.
ACM Transactions on Programming Languages and Systems, 26 (3), .
Abstract
Recently the relationship between abstract interpretation and program specialization has received a lot of scrutiny, and the need has been identified to extend program specialization techniques so to make use of more refined abstract domains and operators. This paper clarifies this relationship in the context of logic programming, by expressing program specialization in terms of abstract interpretation. Based on this, a novel specialization framework, along with generic correctness results for computed answers and finite failure under SLD-resolution, is developed. This framework can be used to extend existing logic program specialization methods, such as partial deduction and conjunctive partial deduction, to make use of more refined abstract domains. It is also shown how this opens up the way for new optimizations. Finally, as shown in the paper, the framework also enables one to prove correctness of new or existing specialization techniques in a simpler manner. The framework has already been applied in the literature to develop and prove correct specialization algorithms using regular types, which in turn have been applied to the verification of infinite state process algebras.
Text
apd-toplas_final.pdf
- Other
More information
Published date: May 2004
Keywords:
Partial Deduction, Partial Evaluation, Program Transformation, Abstract Interpretation, Logic Programming, Flow analysis
Organisations:
Electronics & Computer Science
Identifiers
Local EPrints ID: 259187
URI: http://eprints.soton.ac.uk/id/eprint/259187
PURE UUID: cf3789e8-ba20-4468-bdbf-ce11f2ddc7a5
Catalogue record
Date deposited: 15 Mar 2004
Last modified: 14 Mar 2024 06:20
Export record
Contributors
Author:
Michael Leuschel
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics