Affiliation:
1. University of Birmingham, Birmingham, United Kingdom
2. Carnegie-Mellon University, Pittsburgh, PA, USA
Abstract
Separation Logic has witnessed tremendous success in recent years in reasoning about programs that deal with heap storage. Its success owes to the fundamental principle that one should keep separate areas of the heap storage separate in program reasoning. However, the way Separation Logic deals with program variables continues to be based on traditional Hoare Logic without taking any benefit of the separation principle. This has led to unwieldy proof rules suffering from lack of clarity as well as questions surrounding their soundness. In this paper, we extend the separation idea to the treatment of variables in Separation Logic, especially Concurrent Separation Logic, using the system of Syntactic Control of Interference proposed by Reynolds in 1978. We extend the original system with permission algebras, making it more powerful and able to deal with the issues of concurrent programs. The result is a streamined presentation of Concurrent Separation Logic, whose rules are memorable and soundness obvious. We also include a discussion of how the new rules impact the semantics and devise static analysis techniques to infer the required permissions automatically.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference39 articles.
1. S. Abramsky and G. McCusker. Linearity sharing and state. In Algol-like Languages tOT chapter 20. S. Abramsky and G. McCusker. Linearity sharing and state. In Algol-like Languages tOT chapter 20.
2. Ten Years of Hoare's Logic: A Survey—Part I
3. Permission accounting in separation logic
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Boosting the Software Quality of Parallel Programming Using Logical Means;Computational Science and Its Applications -- ICCSA 2015;2015
2. All-Path Reachability Logic;Lecture Notes in Computer Science;2014