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
2005
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.
.
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
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