This paper received a Best Paper Award at EuroSys 2023International audienceKnowing which functions may execute concurrently is key to finding concurrency-related bugs. Existing tools infer the possibility of concurrency using dynamic analysis or by pairing functions that use the same locks. Code that relies on more relaxed concurrency controls is, by and large, out of the reach of existing concurrency-related bug-tracking tools. In this paper, we propose a new heuristic to automatically infer the possibility of concurrency in lockless code that relies on memory barriers (memory fences) for correctness, a task made complex by the fact that barriers do not have a unique identifier and do not have a clearly delimited scope. To infer the possi...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
To reduce the complexity of debugging multithreaded pro-grams, researchers have developed compile- a...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
International audienceIn Linux device drivers, use-after-free (UAF) bugs can cause system crashes an...
This thesis presents a catalog of concurrency-related bug patterns. In contrast to design patterns, ...
Kernel concurrency bugs are notoriously difficult to find during testing since they are only trigger...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Part 1: Full PapersInternational audienceConcurrent programming puts demands on software debugging a...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
To reduce the complexity of debugging multithreaded pro-grams, researchers have developed compile- a...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
International audienceIn Linux device drivers, use-after-free (UAF) bugs can cause system crashes an...
This thesis presents a catalog of concurrency-related bug patterns. In contrast to design patterns, ...
Kernel concurrency bugs are notoriously difficult to find during testing since they are only trigger...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
Part 1: Full PapersInternational audienceConcurrent programming puts demands on software debugging a...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
To reduce the complexity of debugging multithreaded pro-grams, researchers have developed compile- a...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...