The University of Southampton
University of Southampton Institutional Repository

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
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
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), 413-463.

Record type: Article

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
Download (474kB)

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

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×