A randomized dynamic program analysis technique for detecting real deadlocks
We present a novel dynamic analysis technique that finds real deadlocks in multi-threaded
programs. Our technique runs in two stages. In the first stage, we use an imprecise dynamic …
programs. Our technique runs in two stages. In the first stage, we use an imprecise dynamic …
Delay-bounded scheduling
We provide a new characterization of scheduling nondeterminism by allowing deterministic
schedulers to delay their next-scheduled task. In limiting the delays an otherwise …
schedulers to delay their next-scheduled task. In limiting the delays an otherwise …
The RoadRunner dynamic analysis framework for concurrent programs
RoadRunner is a dynamic analysis framework designed to facilitate rapid prototy** and
experimentation with dynamic analyses for concurrent Java programs. It provides a clean …
experimentation with dynamic analyses for concurrent Java programs. It provides a clean …
Peahen: Fast and precise static deadlock detection via context reduction
Deadlocks still severely inflict reliability and security issues upon software systems of the
modern age. Worse still, as we note, in prior static deadlock detectors, good precision does …
modern age. Worse still, as we note, in prior static deadlock detectors, good precision does …
Detecting atomic-set serializability violations in multithreaded programs through active randomized testing
Concurrency bugs are notoriously difficult to detect because there can be vast combinations
of interleavings among concurrent threads, yet only a small fraction can reveal them. Atomic …
of interleavings among concurrent threads, yet only a small fraction can reveal them. Atomic …
Efficient detection of thread safety violations via coverage-guided generation of concurrent tests
As writing concurrent programs is challenging, developers often rely on thread-safe classes,
which encapsulate most synchronization issues. Testing such classes is crucial to ensure …
which encapsulate most synchronization issues. Testing such classes is crucial to ensure …
Testing concurrent programs to achieve high synchronization coverage
The effectiveness of software testing is often assessed by measuring coverage of some
aspect of the software, such as its code. There is much research aimed at increasing code …
aspect of the software, such as its code. There is much research aimed at increasing code …
Persuasive prediction of concurrency access anomalies
Predictive analysis is a powerful technique that exposes concurrency bugs in un-exercised
program executions. However, current predictive analysis approaches lack the …
program executions. However, current predictive analysis approaches lack the …
ConLock: A constraint-based approach to dynamic checking on deadlocks in multithreaded programs
Many predictive deadlock detection techniques analyze multithreaded programs to suggest
potential deadlocks (referred to as cycles or deadlock warnings). Nonetheless, many of such …
potential deadlocks (referred to as cycles or deadlock warnings). Nonetheless, many of such …
A heuristic framework to detect concurrency vulnerabilities
With a growing demand of concurrent software to exploit multi-core hardware capability,
concurrency vulnerabilities have become an inevitable threat to the security of today's IT …
concurrency vulnerabilities have become an inevitable threat to the security of today's IT …