The most prominent advantage of software verification over testing is a rigorous check of every possible software behavior. However, large state spaces of concurrent systems, due to non-deterministic scheduling, result in a slow automated verification process. Therefore, verification introduces a large delay between completion and deployment of concurrent software. This paper introduces a novel iterative approach to verification of concurrent programs that drastically reduces this delay. By restricting the execution of concurrent programs to a small set of admissible schedules, verification complexity and time is drastically reduced. Iteratively adding admissible schedules after their verification eventually restores non-deterministic sched...
To improve automated verification techniques for ANSI-C software, I examine temporal logics for desc...
Abstract. The choice of where a thread scheduling algorithm preempts one thread in order to execute ...
We introduce canonical sequentialization, a new approach to verifying unbounded, asynchronous, messa...
Automated software verification can prove the correctness of a program with respect to a given speci...
Concurrent programs are extremely important for efficiently programming future HPC systems. Large sc...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
Lazy sequentialization has proven to be one of the most effective techniques for concurrent program ...
Bounded verification techniques such as bounded model checking (BMC) have successfully been used for...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Software is large, complex, and error-prone. According to the US National Institute of Standards and...
thesisConcurrent programs are extremely important for efficiently programming future HPC systems. La...
To improve automated verification techniques for ANSI-C software, I examine temporal logics for desc...
Abstract. The choice of where a thread scheduling algorithm preempts one thread in order to execute ...
We introduce canonical sequentialization, a new approach to verifying unbounded, asynchronous, messa...
Automated software verification can prove the correctness of a program with respect to a given speci...
Concurrent programs are extremely important for efficiently programming future HPC systems. Large sc...
As the use of concurrent software is increasing, we urgently need techniques to establish the correc...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Model checkers frequently fail to completely verify a concurrent program, even if partial-order redu...
Lazy sequentialization has proven to be one of the most effective techniques for concurrent program ...
Bounded verification techniques such as bounded model checking (BMC) have successfully been used for...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Software is large, complex, and error-prone. According to the US National Institute of Standards and...
thesisConcurrent programs are extremely important for efficiently programming future HPC systems. La...
To improve automated verification techniques for ANSI-C software, I examine temporal logics for desc...
Abstract. The choice of where a thread scheduling algorithm preempts one thread in order to execute ...
We introduce canonical sequentialization, a new approach to verifying unbounded, asynchronous, messa...