One common approach for verifying safety properties of multithreaded programs is assigning appropriate permissions, such as ownership of a heap location, and obligations, such as an obligation to send a message on a channel, to each thread and making sure that each thread only performs the actions for which it has permissions and it also fulfills all of its obligations before it terminates. Although permissions can be transferred through synchronizations from a sender thread, where for example a message is sent or a condition variable is notified, to a receiver thread, where that message or that notification is received, in existing approaches obligations can only be transferred when a thread is forked. In this paper we introduce two mechan...
Abstract. Mainstream languages such as C/C++ (with Pthreads), Java, and.NET provide programmers with...
Most multi-threaded programs synchronize threads via blocking operations such as acquiring locks or ...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
One common approach for verifying safety properties of multithreaded programs is assigning appropria...
The combination of message passing and locking to protect shared state is a useful concurrency patte...
Abstract. The combination of message passing and locking to protect shared state is a useful concurr...
Monitors constitute one of the common techniques to synchronize threads in multithreaded programs, w...
Monitors constitute one of the common techniques to synchronize threads in multithreaded programs, w...
One of the common methods to synchronize threads in multithreaded programs is using condition variab...
Recent advances in the formal verification of message-passing programs are based on proving that pro...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
We propose an approach for specifying and verifying full functional (partial) correctness of modules...
Most of the existing verification techniques for message-passing programs suppose either that channe...
This paper motivates and presents a program logic for reasoning about multithreaded Java-like progra...
Abstract. In the multicore era, verification for concurrent programs is increasingly important. Alth...
Abstract. Mainstream languages such as C/C++ (with Pthreads), Java, and.NET provide programmers with...
Most multi-threaded programs synchronize threads via blocking operations such as acquiring locks or ...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...
One common approach for verifying safety properties of multithreaded programs is assigning appropria...
The combination of message passing and locking to protect shared state is a useful concurrency patte...
Abstract. The combination of message passing and locking to protect shared state is a useful concurr...
Monitors constitute one of the common techniques to synchronize threads in multithreaded programs, w...
Monitors constitute one of the common techniques to synchronize threads in multithreaded programs, w...
One of the common methods to synchronize threads in multithreaded programs is using condition variab...
Recent advances in the formal verification of message-passing programs are based on proving that pro...
Abstract. This paper presents an expressive specification and verifica-tion framework for ensuring d...
We propose an approach for specifying and verifying full functional (partial) correctness of modules...
Most of the existing verification techniques for message-passing programs suppose either that channe...
This paper motivates and presents a program logic for reasoning about multithreaded Java-like progra...
Abstract. In the multicore era, verification for concurrent programs is increasingly important. Alth...
Abstract. Mainstream languages such as C/C++ (with Pthreads), Java, and.NET provide programmers with...
Most multi-threaded programs synchronize threads via blocking operations such as acquiring locks or ...
Abstract. A program verifier is a tool that allows developers to prove that their code satisfies its...