2015
DOI: 10.2168/lmcs-11(1:2)2015
|View full text |Cite
|
Sign up to set email alerts
|

Permission-Based Separation Logic for Multithreaded Java Programs

Abstract: Abstract. This paper presents a program logic for reasoning about multithreaded Javalike programs with dynamic thread creation, thread joining and reentrant object monitors. The logic is based on concurrent separation logic. It is the first detailed adaptation of concurrent separation logic to a multithreaded Java-like language.The program logic associates a unique static access permission with each heap location, ensuring exclusive write accesses and ruling out data races. Concurrent reads are supported throu… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
53
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
6
1

Relationship

6
1

Authors

Journals

citations
Cited by 33 publications
(54 citation statements)
references
References 67 publications
1
53
0
Order By: Relevance
“…To the best of our knowledge, our method so far is the only one that uses Dynamic Frames in the explicit form with permissions [1] and in this paper we have shown the necessary extensions and modifications to the Java Dynamic Logic (JDL) used in the KeY verifier to build a fully functional verification system for this combination. The existing approaches to (fractional) permissionbased reasoning with functional tools are based on Separation Logic (SL) [2] or Implicit Dynamic Frames (IDF) [4], e.g., our own VerCors toolset [5,18], VeriFast [25], Silicon [26], or Chalice [3].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…To the best of our knowledge, our method so far is the only one that uses Dynamic Frames in the explicit form with permissions [1] and in this paper we have shown the necessary extensions and modifications to the Java Dynamic Logic (JDL) used in the KeY verifier to build a fully functional verification system for this combination. The existing approaches to (fractional) permissionbased reasoning with functional tools are based on Separation Logic (SL) [2] or Implicit Dynamic Frames (IDF) [4], e.g., our own VerCors toolset [5,18], VeriFast [25], Silicon [26], or Chalice [3].…”
Section: Discussionmentioning
confidence: 99%
“…A specified read permission implies that the corresponding location is in the accessible clause, and a specified write location puts the location in the assignable clause. The resulting reasoning system has the look-and-feel of permission-based Separation Logic [17,18]. It is also possible to achieve full IDFstyle framing in our framework, however, we have chosen not to do so (yet) for two reasons.…”
Section: Examples Of Sound and Unsound Specificationsmentioning
confidence: 99%
“…This logic later has been extended by Haack and Hurlin for multi-threaded Java programs with the support of: 1. thread creation and joining, and 2. reentrant locks [46,10].…”
Section: Chapter 2 Technical Backgroundmentioning
confidence: 99%
“…In his PhD thesis, Hurlin [46] proposed contracts for the class Thread to handle this. The contracts are specified based on permission-based separation logic developed for multithreaded Java programs [10].…”
Section: Chapter 2 Technical Backgroundmentioning
confidence: 99%
See 1 more Smart Citation