We describe a new sequentialization-based approach to the symbolic verification of multi-threaded programs with shared memory and dynamic thread creation. Its main novelty is the idea of memory unwinding, i.e., an explicit representation of the sequence of write operations into the shared memory. For the verification, we nondeterministically guess this unwinding and then simulate the behavior of the program according to any scheduling that respects this guess. This approach is complementary to other sequentializations and explores an orthogonal dimension, i.e., the number of write operations. It also simplifies the implementation of several important optimizations, in particular the targeted exposure of individual writes. We implemented thi...
Lazy sequentialization has proven to be one of the most effective techniques for concurrent program ...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Sequentialization translates concurrent programs into (under certain assumptions) equivalent nondete...
We describe a new CSeq module that implements improved algorithms for the verification of multi-thre...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent pr...
In order to achieve greater computational power, processors now contain several cores that work in p...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Lazy sequentialization has emerged as one of the most promising approaches for concurrent program an...
We describe a new CSeq module for the verification of multi-threaded C programs with dynamic thread ...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
We exhibit assertion-preserving (reachability-preserving) transformations from parameterized concurr...
We exhibit assertion-preserving (reachability preserving) transformations from parameterized concurr...
Abstract. We implement a new sequentialization algorithm for multi-threaded C programs with dynamic ...
Bounded verification techniques such as bounded model checking (BMC) have successfully been used for...
Lazy sequentialization has proven to be one of the most effective techniques for concurrent program ...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Sequentialization translates concurrent programs into (under certain assumptions) equivalent nondete...
We describe a new CSeq module that implements improved algorithms for the verification of multi-thre...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent pr...
In order to achieve greater computational power, processors now contain several cores that work in p...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Lazy sequentialization has emerged as one of the most promising approaches for concurrent program an...
We describe a new CSeq module for the verification of multi-threaded C programs with dynamic thread ...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
We exhibit assertion-preserving (reachability-preserving) transformations from parameterized concurr...
We exhibit assertion-preserving (reachability preserving) transformations from parameterized concurr...
Abstract. We implement a new sequentialization algorithm for multi-threaded C programs with dynamic ...
Bounded verification techniques such as bounded model checking (BMC) have successfully been used for...
Lazy sequentialization has proven to be one of the most effective techniques for concurrent program ...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Sequentialization translates concurrent programs into (under certain assumptions) equivalent nondete...