Imperative functional programs that explain their work

Wilmer Ricciotti, Jan Stolarek, Roly Perera, James Cheney

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.
Original languageEnglish
Title of host publication22nd ACM SIGPLAN International Conference on Functional Programming (ICFP 2017)
Pages14:1-14:28
Number of pages26
DOIs
Publication statusPublished - 29 Aug 2017
Event22nd ACM SIGPLAN International Conference on Functional Programming - Oxford, United Kingdom
Duration: 3 Sep 20179 Sep 2017
https://conf.researchr.org/home/icfp-2017

Publication series

NameProceedings of the ACM on Programming Languages
PublisherACM
NumberICFP
Volume1
ISSN (Electronic)2475-1421

Conference

Conference22nd ACM SIGPLAN International Conference on Functional Programming
Abbreviated titleICFP 2017
Country/TerritoryUnited Kingdom
CityOxford
Period3/09/179/09/17
Internet address

Cite this