Concurrent data structures often provide better performance on multi-core platforms, but are significantly more difficult to design and verify than their sequential counterparts. The C/C++11 standard introduced a weak language memory model supporting low-level atomic operations such as compare and swap (CAS). While these atomic operations can significantly improve the performance of concurrent data structures, programming at this level introduces non-intuitive behaviors that significantly increase the difficulty of developing code.In this paper, we present CDSSPEC, a specification language checker that allows developers to write simple specifications for low-level concurrent data structures that make use of C/C++11 atomics and check the c...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in ...
Writing correct concurrent code that uses atomics under the C/C++ memory model is extremely difficul...
<p>We have long relied on increased raw computing power to drive technological progress. However, pr...
We present a stateless model checking algorithm for verifying concurrent programs running under RC11...
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in th...
International audienceCompilers sometimes generate correct sequential code but break the concurrency...
Poster for C11Tester project. The C11Tester project has developed libraries that allow researcher t...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in ...
Shared memory concurrency relies on synchronisation primitives: compare-and-swap, load-reserve/store...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in ...
Writing correct concurrent code that uses atomics under the C/C++ memory model is extremely difficul...
<p>We have long relied on increased raw computing power to drive technological progress. However, pr...
We present a stateless model checking algorithm for verifying concurrent programs running under RC11...
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in th...
International audienceCompilers sometimes generate correct sequential code but break the concurrency...
Poster for C11Tester project. The C11Tester project has developed libraries that allow researcher t...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in ...
Shared memory concurrency relies on synchronisation primitives: compare-and-swap, load-reserve/store...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in ...
Writing correct concurrent code that uses atomics under the C/C++ memory model is extremely difficul...