Higher-order lazy functional slicing

Program slicing is a well known family of techniques intended to identify and isolate code fragments which depend on, or are depended upon, specific program entities. This is particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicin...

Full description

Bibliographic Details
Main Author: Rodrigues, Nuno F. (author)
Other Authors: Barbosa, L. S. (author)
Format: article
Language:eng
Published: 2007
Subjects:
Online Access:http://hdl.handle.net/1822/33907
Country:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/33907
Description
Summary:Program slicing is a well known family of techniques intended to identify and isolate code fragments which depend on, or are depended upon, specific program entities. This is particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, and corresponding tools, target either the imperative or the object oriented paradigms, where program slices are computed with respect to a variable or a program statement. Taking a complementary point of view, this paper focuses on the slicing of higher-order functional programs under a lazy evaluation strategy. A prototype of a Haskell slicer, built as proof-of-concept for these ideas, is also introduced.