Concurrent software is inherently error-prone, due to the possible interactions and subtle interplays between the parallel computations. As a result, error prediction and tracing the sources of errors often is difficult. In particular, rerunning an execution with exactly the same input might not lead to the same error. To improve this situation, we need techniques that can provide static guarantees about the behaviour of a concurrent program. In this presentation, I present an approach based on program annotations, which is supported by the VerCors tool set. I will present the general set up of the approach, and discuss what kind of programs can be verified using this approach. Then I will dive into one concrete example, namely where we use...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
This paper reports on the VerCors tool set for verifying parallel and concurrent software. Its main ...
This paper presents the VerCors approach to verification of concurrent software. It first discusses ...
Society nowadays relies heavily on software, which makes verifying the correctness of software cruci...
Abstract. This paper presents the VerCors approach to verification of concurrent software. It first ...
The VerCors tool implements thread-modular static verification of concurrent programs, annotated wit...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
This thesis is not available on this repository until the author agrees to make it public. If you ar...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
Defects in software cost money and sometimes lives. Even with rigorous testing, there are countless...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
This paper reports on the VerCors tool set for verifying parallel and concurrent software. Its main ...
This paper presents the VerCors approach to verification of concurrent software. It first discusses ...
Society nowadays relies heavily on software, which makes verifying the correctness of software cruci...
Abstract. This paper presents the VerCors approach to verification of concurrent software. It first ...
The VerCors tool implements thread-modular static verification of concurrent programs, annotated wit...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
This paper discusses how several concurrent program verification techniques can be combined in a lay...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
This thesis is not available on this repository until the author agrees to make it public. If you ar...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
Defects in software cost money and sometimes lives. Even with rigorous testing, there are countless...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...