Automated software verification can prove the correctness of a program with respect to a given specification and may be a valuable support in the difficult task of ensuring the quality of large software systems. However, the automated verification of concurrent software can be particularly challenging due to the vast complexity that non-deterministic scheduling causes. This thesis is concerned with techniques that reduce the complexity of concurrent programs in order to ease the verification task. We approach this problem from two orthogonal directions: state space reduction and reduction of non-determinism in executions of concurrent programs. Following the former direction, we present an algorithm for dynamic partial-order...
We propose the first systematic concurrent program testing approach that is able to cover the entire...
We present a computer-aided programming approach to concurrency. The approach allows programmers to ...
The design of concurrent algorithms tends to be a long and difficult process. Increasing the number ...
Automated software verification can prove the correctness of a program with respect to a given spec...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
The most prominent advantage of software verification over testing is a rigorous check of every poss...
We study the safety verification (reachability problem) for concurrent programs with uninterpreted f...
AbstractThe outcome of verifying software is often a 'counterexample', i.e., a listing of the action...
Dynamic scheduling of the production in complex industrial manufacturing machines can lead to proble...
Stateless model checking is a technique for testing and verifying concurrent programs, based on expl...
Abstract. In many practical application domains, the software is organized into a set of threads, wh...
AbstractIn implementation verification, we check that an implementation is correct with respect to a...
The verification of concurrent programs remains an open challenge, as thread interaction has to be a...
Efficient state space exploration of a concurrent program is a fundamental problem in algorithmic v...
Lazy sequentialization has emerged as one of the most promising approaches for concurrent program an...
We propose the first systematic concurrent program testing approach that is able to cover the entire...
We present a computer-aided programming approach to concurrency. The approach allows programmers to ...
The design of concurrent algorithms tends to be a long and difficult process. Increasing the number ...
Automated software verification can prove the correctness of a program with respect to a given spec...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
The most prominent advantage of software verification over testing is a rigorous check of every poss...
We study the safety verification (reachability problem) for concurrent programs with uninterpreted f...
AbstractThe outcome of verifying software is often a 'counterexample', i.e., a listing of the action...
Dynamic scheduling of the production in complex industrial manufacturing machines can lead to proble...
Stateless model checking is a technique for testing and verifying concurrent programs, based on expl...
Abstract. In many practical application domains, the software is organized into a set of threads, wh...
AbstractIn implementation verification, we check that an implementation is correct with respect to a...
The verification of concurrent programs remains an open challenge, as thread interaction has to be a...
Efficient state space exploration of a concurrent program is a fundamental problem in algorithmic v...
Lazy sequentialization has emerged as one of the most promising approaches for concurrent program an...
We propose the first systematic concurrent program testing approach that is able to cover the entire...
We present a computer-aided programming approach to concurrency. The approach allows programmers to ...
The design of concurrent algorithms tends to be a long and difficult process. Increasing the number ...