2008
DOI: 10.1007/978-3-540-68863-1_14
|View full text |Cite
|
Sign up to set email alerts
|

VeriCool: An Automatic Verifier for a Concurrent Object-Oriented Language

Abstract: Abstract. Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for data abstraction and framing. Reasoning about concurrent object-oriented programs is even harder, since in general interference by other threads has to be taken into account at each program point.In this paper, we propose an approach to the automatic verification of concurrent Java-like programs. The cornerstone of the approach is a programming model, a set of rules, which limits thread inference to sy… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
6

Relationship

0
6

Authors

Journals

citations
Cited by 17 publications
(10 citation statements)
references
References 15 publications
0
10
0
Order By: Relevance
“…Many verifiers [15,21,26] work around this problem by distinguishing between a predicate and its body. Instead of letting the SMT solver expand predicate definitions automatically, the verifier expands only specific predicate definitions at specific points in the program execution.…”
Section: Folding and Unfoldingmentioning
confidence: 99%
See 3 more Smart Citations
“…Many verifiers [15,21,26] work around this problem by distinguishing between a predicate and its body. Instead of letting the SMT solver expand predicate definitions automatically, the verifier expands only specific predicate definitions at specific points in the program execution.…”
Section: Folding and Unfoldingmentioning
confidence: 99%
“…Similarly to existing tools such as Spec# [4] and VeriCool [26], we handle this problem by abstracting over the locations folded inside a predicate instance, via versioning. The idea is as follows: if we can be sure that a predicate instance has been neither unfolded nor exhaled since an earlier program point, we know that all locations nested inside the predicate are unmodified.…”
Section: Framing Of Abstraction Functionsmentioning
confidence: 99%
See 2 more Smart Citations
“…Other techniques exist for dealing with the heap in modular verification, including ownership [11], which is used by Spec# and Java/JML; dynamic frames [21,29], which is used by VeriCool 1 and Dafny; and implicit dynamic frames [30], which are used in VeriCool 3 and Chalice.…”
Section: Related Workmentioning
confidence: 99%