Forward slicing of functional logic programs by partial evaluation

Program slicing has been mainly studied in the context of imperative languages, where it has been applied to a wide variety of software engineering tasks, like program understanding, maintenance, debugging, testing, code reuse, etc. This work introduces the first forward slicing technique for declar...

Full description

Saved in:
Bibliographic Details
Published in:Theory and practice of logic programming Vol. 7; no. 1-2; pp. 215 - 247
Main Authors: SILVA, JOSEP, VIDAL, GERMÁN
Format: Journal Article
Language:English
Published: Cambridge, UK Cambridge University Press 01.01.2007
Subjects:
ISSN:1471-0684, 1475-3081
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Program slicing has been mainly studied in the context of imperative languages, where it has been applied to a wide variety of software engineering tasks, like program understanding, maintenance, debugging, testing, code reuse, etc. This work introduces the first forward slicing technique for declarative multi-paradigm programs which integrate features from functional and logic programming. Basically, given a program and a slicing criterion (a function call in our setting), the computed forward slice contains those parts of the original program which are reachable from the slicing criterion. Our approach to program slicing is based on an extension of (online) partial evaluation. Therefore, it provides a simple way to develop program slicing tools from existing partial evaluators and helps to clarify the relation between both methodologies. A slicing tool for the multi-paradigm language Curry, which demonstrates the usefulness of our approach, has been implemented in Curry itself.
Bibliography:SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ISSN:1471-0684
1475-3081
DOI:10.1017/S1471068406002870