Digital services are becoming an essential part of our daily lives. To provide these services, efficient software plays an important role. Concurrent programming is a technique that developers can exploit to gain more performance. In a concurrent program several threads of execution simultaneously are being executed. Sometimes they have to compete to access shared resources, like memory. This race of accessing shared memories can cause unexpected errors. Programmers use synchronisation constructs to tame the concurrency and control the accesses. In order to develop reliable concurrent software, the correctness of these synchronisation constructs is crucial. In this thesis we use a program logic, called permission-based Separation Logic, to ...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
Synchronisation classes are an important building block for shared memory concurrent programs. Thus ...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
Abstract—This paper discusses formal specification and veri-fication of the synchronisation classes ...
For the verification of concurrent programs, it is essential to be able to show that synchronisation...
For the verification of concurrent programs, it is essential to be able to show that synchronisation...
Abstract. This paper presents the VerCors approach to verification of concurrent software. It first ...
This paper presents the VerCors approach to verification of concurrent software. It first discusses ...
We present a framework for verifiable concurrent programming in Java based on a design pattern for c...
This paper motivates and presents a program logic for reasoning about multithreaded Java-like progra...
We propose a high-level language based on first order logic for expressing synchronization in concur...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
Synchronisation classes are an important building block for shared memory concurrent programs. Thus ...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
Abstract—This paper discusses formal specification and veri-fication of the synchronisation classes ...
For the verification of concurrent programs, it is essential to be able to show that synchronisation...
For the verification of concurrent programs, it is essential to be able to show that synchronisation...
Abstract. This paper presents the VerCors approach to verification of concurrent software. It first ...
This paper presents the VerCors approach to verification of concurrent software. It first discusses ...
We present a framework for verifiable concurrent programming in Java based on a design pattern for c...
This paper motivates and presents a program logic for reasoning about multithreaded Java-like progra...
We propose a high-level language based on first order logic for expressing synchronization in concur...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
Abstract We provide a parametric framework for verifying safety properties of concurrent Java progra...
Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs...