The University of Southampton
University of Southampton Institutional Repository

Forward Slicing by Conjunctive Partial Deduction and Argument Filtering

Forward Slicing by Conjunctive Partial Deduction and Argument Filtering
Forward Slicing by Conjunctive Partial Deduction and Argument Filtering
Program slicing is a well-known methodology that aims at identifying the program statements that (potentially) affect the values computed at some point of interest. Within imperative programming, this technique has been successfully applied to debugging, specialization, merging, reuse, maintenance, etc. Due to its declarative nature, adapting the slicing notions and techniques to a logic programming setting is not an easy task. In this work, we define the first, semantics-preserving, forward slicing technique for logic programs. Our approach relies on the application of a conjunctive partial deduction algorithm for a precise propagation of information between calls. We do not distinguish between static and dynamic slicing since partial deduction can naturally deal with both static and dynamic data. Furthermore, this approach can quite easily be implemented by adding a new code generator on top of existing partial deduction systems. A slicing tool has been implemented in ECCE, where a post-processing transformation to remove redundant arguments has been added. Experiments conducted on a wide variety of programs are encouraging and demonstrate the usefulness of our approach, both as a classical slicing method and as a technique for code size reduction.
Partial Evaluation, Slicing, Logic Programming, Program Transformation, Partial Deduction
61-76
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Vidal, German
3f9b0910-8dc4-4516-943e-47aabb6f5e3b
Sagiv, Mooly
672ac0f8-3dd1-49b0-847e-a44182d4c269
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Vidal, German
3f9b0910-8dc4-4516-943e-47aabb6f5e3b
Sagiv, Mooly
672ac0f8-3dd1-49b0-847e-a44182d4c269

Leuschel, Michael and Vidal, German (2005) Forward Slicing by Conjunctive Partial Deduction and Argument Filtering. Sagiv, Mooly (ed.) European Symposium on Programming (ESOP'05), Edinburgh, United Kingdom. pp. 61-76 .

Record type: Conference or Workshop Item (Paper)

Abstract

Program slicing is a well-known methodology that aims at identifying the program statements that (potentially) affect the values computed at some point of interest. Within imperative programming, this technique has been successfully applied to debugging, specialization, merging, reuse, maintenance, etc. Due to its declarative nature, adapting the slicing notions and techniques to a logic programming setting is not an easy task. In this work, we define the first, semantics-preserving, forward slicing technique for logic programs. Our approach relies on the application of a conjunctive partial deduction algorithm for a precise propagation of information between calls. We do not distinguish between static and dynamic slicing since partial deduction can naturally deal with both static and dynamic data. Furthermore, this approach can quite easily be implemented by adding a new code generator on top of existing partial deduction systems. A slicing tool has been implemented in ECCE, where a post-processing transformation to remove redundant arguments has been added. Experiments conducted on a wide variety of programs are encouraging and demonstrate the usefulness of our approach, both as a classical slicing method and as a technique for code size reduction.

Text
slicing_esop05_final2.pdf - Other
Download (254kB)

More information

Published date: 2005
Additional Information: Event Dates: April 2005
Venue - Dates: European Symposium on Programming (ESOP'05), Edinburgh, United Kingdom, 2005-04-01
Keywords: Partial Evaluation, Slicing, Logic Programming, Program Transformation, Partial Deduction
Organisations: Electronics & Computer Science

Identifiers

Local EPrints ID: 260797
URI: http://eprints.soton.ac.uk/id/eprint/260797
PURE UUID: fa5892b3-369f-400e-b0bf-e9d7b1ee6292

Catalogue record

Date deposited: 27 Apr 2005
Last modified: 14 Mar 2024 06:44

Export record

Contributors

Author: Michael Leuschel
Author: German Vidal
Editor: Mooly Sagiv

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.

×