This paper discusses how several concurrent program verification techniques can be combined in a layered approach, where each layer is especially suited to verify one aspect of concurrent programs, thus making verification of concurrent programs practical. At the bottom layer, we use a combination of implicit dynamic frames and CSL-style resource invariants, to reason about data race freedom of programs. We illustrate this on the verification of a lock-free queue implementation. On top of this, layer 2 enables reasoning about resource invariants that express a relationship between thread-local and shared variables. This is illustrated by the verification of a reentrant lock implementation, where thread-locality is used to specify for a thre...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
This paper presents a foundation for refining concurrent programs with structured control flow. The ...
This paper describes the first results and on-going work in the VerCors project. The VerCors project...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
This paper presents the VerCors approach to verification of concurrent software. It first discusses ...
Abstract. This paper presents the VerCors approach to verification of concurrent software. It first ...
This paper reports on the VerCors tool set for verifying parallel and concurrent software. Its main ...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
Efficient concurrent programs and data structures rarely em-ploy coarse-grained synchronization mech...
The VerCors tool implements thread-modular static verification of concurrent programs, annotated wit...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
This thesis is not available on this repository until the author agrees to make it public. If you ar...
Concurrent software is inherently error-prone, due to the possible interactions and subtle interplay...
Abstract. This paper presents a proof framework for verifying concurrent programs that communicate u...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
This paper presents a foundation for refining concurrent programs with structured control flow. The ...
This paper describes the first results and on-going work in the VerCors project. The VerCors project...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
This paper presents the VerCors approach to verification of concurrent software. It first discusses ...
Abstract. This paper presents the VerCors approach to verification of concurrent software. It first ...
This paper reports on the VerCors tool set for verifying parallel and concurrent software. Its main ...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
Efficient concurrent programs and data structures rarely em-ploy coarse-grained synchronization mech...
The VerCors tool implements thread-modular static verification of concurrent programs, annotated wit...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
This thesis is not available on this repository until the author agrees to make it public. If you ar...
Concurrent software is inherently error-prone, due to the possible interactions and subtle interplay...
Abstract. This paper presents a proof framework for verifying concurrent programs that communicate u...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
This paper presents a foundation for refining concurrent programs with structured control flow. The ...
This paper describes the first results and on-going work in the VerCors project. The VerCors project...