We present Dartagnan, a bounded model checker (BMC) for concurrent programs under weak memory models. Its distinguishing feature is that the memory model is not implemented inside the tool but taken as part of the input. Dartagnan reads CAT, the standard language for memory models, which allows to define x86/TSO, ARMv7, ARMv8, Power, C/C++, and Linux kernel concurrency primitives. BMC with memory models as inputs is challenging. One has to encode into SMT not only the program but also its semantics as defined by the memory model. What makes Dartagnan scale is its relation analysis, a novel static analysis that significantly reduces the size of the encoding. Dartagnan matches or even exceeds the performance of the model-specific verification...
Computers have been key subsystems in various complex systems. As computers are adapted into various...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Robustness of a concurrent program ensures that its behaviors on a weak concurrency model are indis...
We present Dartagnan, a bounded model checker (BMC) for concurrent programs under weak memory models...
We present Dartagnan, a bounded model checker (BMC) for concurrent programs under weak memory models...
This paper reports progress in verification tool engineering for weak memory models. We present two ...
Dartagnan is a bounded model checker for concurrent programs under weak memory models. What makes it...
To improve efficiency of memory accesses, modern multiprocessor architectures implement a whole rang...
CBMC implements bit-precise bounded model checking for C programs and has been developed and maintai...
We propose an axiomatic generic framework for modelling weak memory. We show how to instantiate this...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Abstract—To improve performance, multiprocessor systems implement weak memory consistency models — a...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Hardware weak memory models, such as TSO and ARM, are used to increase the performance of concurrent...
Computers have been key subsystems in various complex systems. As computers are adapted into various...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Robustness of a concurrent program ensures that its behaviors on a weak concurrency model are indis...
We present Dartagnan, a bounded model checker (BMC) for concurrent programs under weak memory models...
We present Dartagnan, a bounded model checker (BMC) for concurrent programs under weak memory models...
This paper reports progress in verification tool engineering for weak memory models. We present two ...
Dartagnan is a bounded model checker for concurrent programs under weak memory models. What makes it...
To improve efficiency of memory accesses, modern multiprocessor architectures implement a whole rang...
CBMC implements bit-precise bounded model checking for C programs and has been developed and maintai...
We propose an axiomatic generic framework for modelling weak memory. We show how to instantiate this...
Software verification is considered to be a hard computational problem vulnerable to the state explo...
Abstract—To improve performance, multiprocessor systems implement weak memory consistency models — a...
Weak memory models are used to increase the performance of concurrent programs by allowing program i...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Hardware weak memory models, such as TSO and ARM, are used to increase the performance of concurrent...
Computers have been key subsystems in various complex systems. As computers are adapted into various...
The number of interleavings of a concurrent program makes automatic analysis of such software very h...
Robustness of a concurrent program ensures that its behaviors on a weak concurrency model are indis...