Imperative functional programs that explain their work

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)

[img]
Preview
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

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
612411From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering and Physical Sciences Research Council (EPSRC)EP/K034413/1COM - COMPUTING SCIENCE