Modern applications include many sources of nondeterminism, e.g. due to concurrency, signals, and system calls that interact with the external environment. Finding and reproducing bugs in the presence of this nondeterminism has been the subject of much prior work in three main areas: (1) controlled concurrency-testing, where a custom scheduler replaces the OS scheduler to find subtle bugs; (2) record and replay, where sources of nondeterminism are captured and logged so that a failing execution can be replayed for debugging purposes; and (3) dynamic analysis for the detection of data races. We present a dynamic analysis tool for C++ applications, tsan11rec, which brings these strands of work together by integrating controlled concurrency te...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Concurrent programs are executed by multiple threads that run simultaneously. While this allows prog...
Reproducing a failure is the first and most important step in debugging because it enables us to und...
In the area of debugging parallel executions, record and replay is a technique that allows determini...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Record and deterministic Replay (RnR) is a primitive with many proposed applications in computer sys...
Application record and replay is the ability to record application execution and replay it at a late...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
Shared-memory parallel programs are inherently nondeterministic, making it difficult to diagnose rar...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Part 1: Full PapersInternational audienceDebugging of concurrent systems is a tedious and error-pron...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Concurrent programs are executed by multiple threads that run simultaneously. While this allows prog...
Reproducing a failure is the first and most important step in debugging because it enables us to und...
In the area of debugging parallel executions, record and replay is a technique that allows determini...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Record and deterministic Replay (RnR) is a primitive with many proposed applications in computer sys...
Application record and replay is the ability to record application execution and replay it at a late...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
Shared-memory parallel programs are inherently nondeterministic, making it difficult to diagnose rar...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Part 1: Full PapersInternational audienceDebugging of concurrent systems is a tedious and error-pron...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...