Forward slicing of functional logic programs by partial evaluation
Josep Silva, Germ\'an Vidal

TL;DR
This paper presents the first forward slicing technique for declarative multi-paradigm programs, using an extension of partial evaluation, demonstrated through a tool for the Curry language.
Contribution
It introduces a novel forward slicing method for functional logic programs based on partial evaluation, bridging the gap between slicing and partial evaluation methodologies.
Findings
Developed a forward slicing technique for Curry programs.
Implemented a slicing tool demonstrating practical applicability.
Clarified the relationship between program slicing and partial evaluation.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Reliability and Analysis Research · Formal Methods in Verification
