Deterministic replay tools are a useful asset when it comes to pinpoint hard-to-reproduce bugs. However, no sweet spot has yet been found with respect to the trade-off between recording overhead and bug reproducibility, especially in the context of search-based deterministic replay techniques, which rely on inference mechanisms. In this paper, we argue that tracing the locking order, along with the local control-flow path affected by shared variables, allows to dramatically reduce the inference time to find a fault-inducing trace, while imposing only a slight in-crease in the overhead during production runs. Preliminary evaluation with a micro-benchmark and third-party bench-marks provides initial evidence that supports our claim
Recent research in deterministic record-replayseeks to ease debugging, security, and fault tolerance...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
This paper presents a tool that enables programmers to use dynamic testing tools for de-bugging non-...
Deterministic replay tools offer a compelling approach to debugging hard-to-reproduce bugs. Recent w...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
Significant time is spent by companies trying to reproduce and fix bugs. We recently proposed a har...
In the area of debugging parallel executions, record and replay is a technique that allows determini...
The processor industry is at an inflection point. In the past, performance was the driving force beh...
Shared-memory parallel programs are inherently nondeterministic, making it difficult to diagnose rar...
Significant time is spent by companies trying to reproduce and fix bugs. BugNet is a recent architec...
Alongside the rise of multi-processor machines, concurrent programming models have grown to near ubi...
Debugging a faulty program can be very hard and time-consuming. The programmer usually reexecutes hi...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
With the ubiquity of parallel commodity hardware, developers turn to high-level concurrency models s...
The ability to reproduce a parallel execution is desirable for debugging and program reliability pur...
Recent research in deterministic record-replayseeks to ease debugging, security, and fault tolerance...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
This paper presents a tool that enables programmers to use dynamic testing tools for de-bugging non-...
Deterministic replay tools offer a compelling approach to debugging hard-to-reproduce bugs. Recent w...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
Significant time is spent by companies trying to reproduce and fix bugs. We recently proposed a har...
In the area of debugging parallel executions, record and replay is a technique that allows determini...
The processor industry is at an inflection point. In the past, performance was the driving force beh...
Shared-memory parallel programs are inherently nondeterministic, making it difficult to diagnose rar...
Significant time is spent by companies trying to reproduce and fix bugs. BugNet is a recent architec...
Alongside the rise of multi-processor machines, concurrent programming models have grown to near ubi...
Debugging a faulty program can be very hard and time-consuming. The programmer usually reexecutes hi...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
With the ubiquity of parallel commodity hardware, developers turn to high-level concurrency models s...
The ability to reproduce a parallel execution is desirable for debugging and program reliability pur...
Recent research in deterministic record-replayseeks to ease debugging, security, and fault tolerance...
Locks have been widely used as an effective synchroniza-tion mechanism among processes and threads. ...
This paper presents a tool that enables programmers to use dynamic testing tools for de-bugging non-...