ACM Home Page
Please provide us with feedback. Feedback
Local rely-guarantee reasoning
Full text PdfPdf (282 KB)
Source
Annual Symposium on Principles of Programming Languages archive
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Savannah, GA, USA
SESSION: Program logics table of contents
Pages 315-327  
Year of Publication: 2009
ISBN:978-1-60558-379-2
Also published in ...
Author
Xinyu Feng  Toyota Technological Institute at Chicago, Chicago, IL, USA
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 123,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1480881.1480922
What is a DOI?

ABSTRACT

Rely-Guarantee reasoning is a well-known method for verification of shared-variable concurrent programs. However, it is difficult for users to define rely/guarantee conditions, which specify threads' behaviors over the whole program state. Recent efforts to combine Separation Logic with Rely-Guarantee reasoning have made it possible to hide thread-local resources, but the shared resources still need to be globally known and specified. This greatly limits the reuse of verified program modules.

In this paper, we propose LRG, a new Rely-Guarantee-based logic that brings local reasoning and information hiding to concurrency verification. Our logic, for the first time, supports a frame rule over rely/guarantee conditions so that specifications of program modules only need to talk about the resources used locally, and the verified modules can be reused in different threads without redoing the proof. Moreover, we introduce a new hiding rule to hide the resources shared by a subset of threads from the rest in the system. The support of information hiding not only improves the modularity of Rely-Guarantee reasoning, but also enables the sharing of dynamically allocated resources, which requires adjustment of rely/guarantee conditions.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Nick Benton. Abstracting allocation : The new new thing. In Proc. Computer Science Logic (CSL'06), volume 4207 of phLecture Notes in Computer Science, pages 182--196. Springer, September 2006.
2
 
3
 
4
 
5
Cristiano Calcagno, Matthew J. Parkinson, and Viktor Vafeiadis. Modular safety checking for fine-grained concurrency. In Proc. 14th Int'l Symposium on Static Analysis (SAS'07), volume 4634 of phLecture Notes in Computer Science, pages 233--248. Springer, August 2007.
 
6
 
7
Xinyu Feng. Local rely-guarantee reasoning (extended version). Technical Report TTIC-TR-2008-1, Toyota Technological Institute at Chicago, Chicago, IL, U.S.A., October 2008. http://www.tti-c.org/technical_reports/ttic-tr-2008-1.pdf.
8
 
9
Xinyu Feng, Rodrigo Ferreira, and Zhong Shao. On the relationship between concurrent separation logic and assume-guarantee reasoning. In Proc. 16th European Symp. on Prog. (ESOP'07), volume 4421 of phLecture Notes in Computer Science, pages 173--188. Springer, March 2007.
 
10
11
 
12
Maurice Herlihy and Nir Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann Publishers, March 2008.
13
14
 
15
 
16
Ioannis T. Kassios. Dynamic frames: Support for framing, dependencies and sharing without restrictions. In Proc. 14th International Symposium on Formal Methods (FM'06), volume 4085 of phLecture Notes in Computer Science, pages 268--283. Springer, August 2006.
 
17
 
18
19
 
20
21
 
22
 
23
Viktor Vafeiadis. Modular Fine-Grained Concurrency Verification. PhD thesis, University of Cambridge, July 2007.
 
24
Viktor Vafeiadis and Matthew J. Parkinson. A marriage of rely/guarantee and separation logic. In Proc. 18th Int'l Conf. on Concurrency Theory (CONCUR'07), volume 4703 of phLecture Notes in Computer Science, pages 256--271, September 2007.
 
25
 
26
27