Affiliation:
1. University of Edinburgh, UK
Abstract
Program slicing provides explanations that illustrate how program outputs were produced from inputs. We build on an approach introduced in prior work, 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.
Funder
European Research Council
Air Force Office of Scientific Research
Engineering and Physical Sciences Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Explanations for combinatorial optimization problems;Journal of Computer Languages;2024-06
2. A visual notation for succinct program traces;Journal of Computer Languages;2023-06
3. Linked visualisations via Galois dependencies;Proceedings of the ACM on Programming Languages;2022-01-12
4. A Visual Notation for Succinct Program Traces;2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC);2021-10-10
5. Explainable dynamic programming;Journal of Functional Programming;2021