TL;DR
This paper extends dynamic program slicing techniques to imperative functional programs with references and exceptions, providing correctness proofs, an implementation, and experimental results.
Contribution
It introduces a novel slicing approach for imperative functional programs, combining higher-order features with mutable state and control flow.
Findings
Correctness and optimality of the slicing approach proven
Implementation demonstrates practical applicability
Experimental evaluation shows effectiveness
Abstract
Program slicing provides explanations that illustrate how program outputs were produced from inputs. We build on an approach introduced in prior work by Perera et al., where dynamic slicing was defined for pure higher-order functional programs as a Galois connection between lattices of partial inputs and partial outputs. We extend this approach to imperative functional programs that combine higher-order programming with references and exceptions. We present proofs of correctness and optimality of our approach and a proof-of-concept implementation and experimental evaluation.
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
{CCSXML}
¡ccs2012¿ ¡concept¿ ¡concept_id¿10011007.10011006.10011039.10011311¡/concept_id¿ ¡concept_desc¿Software and its engineering Semantics¡/concept_desc¿ ¡concept_significance¿500¡/concept_significance¿ ¡/concept¿ ¡concept¿ ¡concept_id¿10011007.10011074.10011099.10011102.10011103¡/concept_id¿ ¡concept_desc¿Software and its engineering Software testing and debugging¡/concept_desc¿ ¡concept_significance¿300¡/concept_significance¿ ¡/concept¿ ¡/ccs2012¿
\ccsdesc[500]Software and its engineering Semantics \ccsdesc[300]Software and its engineering Software testing and debugging \keywordsprogram slicing; debugging; provenance; Galois connection
