We describe an approach to design static analysis and verification tools for concurrent programs that separates intra-thread computation from inter-thread communication by means of a shared memory abstraction (SMA). We formally characterize the concept of thread-asynchronous transition systems that underpins our approach and that allows us to design tools as two independent components, the intra-thread analysis, which can be optimized separately, and the implementation of the SMA itself, which can be exchanged easily (e.g., from the SC to the TSO memory model). We describe the SMA’s API and show that several concurrent verification techniques from the literature can easily be recast in our setting and thus be extended to weak memory models....
In the ever-developing world of technology, more and more situations arise where the life of many pe...
We address the verification problem for concurrent program that dynamically create (fork) new thread...
The trend towards multi-core computing has made concurrent software an important target of computer-...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent pr...
We describe a new sequentialization-based approach to the symbolic verification of multi-threaded pr...
Sequentialization translates concurrent programs into equivalent nondeterministic sequential program...
Ensuring the reliability of multithreaded software systems is difficult due to the interaction betwe...
Software is large, complex, and error-prone. According to the US National Institute of Standards and...
In concurrent programming, mutual exclusion algorithms are used to avoid the simultaneous access of ...
Bounded verification techniques such as bounded model checking (BMC) have successfully been used for...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Abstract. We propose a SAT-based bounded verification technique, called TCBMC, for threaded C progra...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In the ever-developing world of technology, more and more situations arise where the life of many pe...
We address the verification problem for concurrent program that dynamically create (fork) new thread...
The trend towards multi-core computing has made concurrent software an important target of computer-...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Sequentialization is one of the most promising approaches for the symbolic analysis of concurrent pr...
We describe a new sequentialization-based approach to the symbolic verification of multi-threaded pr...
Sequentialization translates concurrent programs into equivalent nondeterministic sequential program...
Ensuring the reliability of multithreaded software systems is difficult due to the interaction betwe...
Software is large, complex, and error-prone. According to the US National Institute of Standards and...
In concurrent programming, mutual exclusion algorithms are used to avoid the simultaneous access of ...
Bounded verification techniques such as bounded model checking (BMC) have successfully been used for...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
Abstract. We propose a SAT-based bounded verification technique, called TCBMC, for threaded C progra...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In the ever-developing world of technology, more and more situations arise where the life of many pe...
We address the verification problem for concurrent program that dynamically create (fork) new thread...
The trend towards multi-core computing has made concurrent software an important target of computer-...