A logical analysis of aliasing in imperative higher-order functions
-
Published:2005-09-12
Issue:9
Volume:40
Page:280-293
-
ISSN:0362-1340
-
Container-title:ACM SIGPLAN Notices
-
language:en
-
Short-container-title:SIGPLAN Not.
Author:
Berger Martin1,
Honda Kohei1,
Yoshida Nobuko2
Affiliation:
1. Queen Mary, University of London
2. Imperial College, London
Abstract
We present a compositional program logic for call-by-value imperative higher-order functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return values, content of references and parts of data structures. The program logic extends our earlier logic for alias-free imperative higher-order functions with new modal operators which serve as building blocks for clean structural reasoning about programs and data structures in the presence of aliasing. This has been an open issue since the pioneering work by Cartwright-Oppen and Morris twenty-five years ago. We illustrate usage of the logic for description and reasoning through concrete examples including a higher-order polymorphic Quicksort. The logical status of the new operators is clarified by translating them into (in)equalities of reference names. The logic is observationally complete in the sense that two programs are observationally indistinguishable if they satisfy the same set of assertions.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference38 articles.
1. C- home page. http://www.cminusminus.org. C- home page. http://www.cminusminus.org.
2. A full version of the present paper. Available for download at www.dcs.qmul.ac.uk/~kohei/logics. A full version of the present paper. Available for download at www.dcs.qmul.ac.uk/~kohei/logics.
3. Ten Years of Hoare's Logic: A Survey—Part I
4. Lecture Notes of an International Summer School. Reidel;Bauer Friedrich L.,1982
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Static Entanglement Analysis of Quantum Programs;2023 IEEE/ACM 4th International Workshop on Quantum Software Engineering (Q-SE);2023-05
2. Laws of Programming for References;Programming Languages and Systems;2013