Ricciotti, W., Stolarek, J., Perera, R. and Cheney, J. (2017) Imperative functional programs that explain their work. Proceedings of the ACM on Programming Languages, 1(ICFP), 14. (doi: 10.1145/3110258)
|
Text
145536.pdf - Published Version Available under License Creative Commons Attribution. 382kB |
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.
Item Type: | Articles |
---|---|
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Perera, Dr Roland |
Authors: | Ricciotti, W., Stolarek, J., Perera, R., and Cheney, J. |
College/School: | College of Science and Engineering > School of Computing Science |
Journal Name: | Proceedings of the ACM on Programming Languages |
Publisher: | ACM |
ISSN: | 2475-1421 |
Copyright Holders: | Copyright © 2017 The Authors |
First Published: | First published in Proceedings of the ACM on Programming Languages 1(ICFP): 14 |
Publisher Policy: | Reproduced under a Creative Commons license |
Related URLs: |
University Staff: Request a correction | Enlighten Editors: Update this record