Associating synchronization constraints with data in an object-oriented language
Concurrency-related bugs may happen when multiple threads access shared data and
interleave in ways that do not correspond to any sequential execution. Their absence is not …
interleave in ways that do not correspond to any sequential execution. Their absence is not …
Verify your runs
A program verifier determines whether a program satisfies a specification. Ideally verification
is achieved by static analysis without executing the code. However, program verification is …
is achieved by static analysis without executing the code. However, program verification is …
Dynamic detection of atomic-set-serializability violations
Previously we presented atomic sets, memory locations that share some consistency
property, and units of work, code fragments that preserve consistency of atomic sets on …
property, and units of work, code fragments that preserve consistency of atomic sets on …
Dynamic deadlock analysis of multi-threaded programs
This paper presents a dynamic program analysis algorithm that can detect deadlock
potentials in a multi-threaded program by examining a single execution trace, obtained by …
potentials in a multi-threaded program by examining a single execution trace, obtained by …
Racer: Effective race detection using AspectJ
Programming errors occur frequently in large software systems, and even more so if these
systems are concurrent. In the past researchers have developed specialized programs to aid …
systems are concurrent. In the past researchers have developed specialized programs to aid …
Healing data races on-the-fly
Testing of concurrent software is extremely difficult. Despite all the progress in the testing
and verification technology, concurrent bugs, the most common of which are deadlocks and …
and verification technology, concurrent bugs, the most common of which are deadlocks and …
Towards a framework and a benchmark for testing tools for multi‐threaded programs
Multi‐threaded code is becoming very common, both on the server side, and very recently
for personal computers as well. Consequently, looking for intermittent bugs is a problem that …
for personal computers as well. Consequently, looking for intermittent bugs is a problem that …
Combined static and dynamic analysis
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often
desirable to retain information from static analysis for run-time verification, or to compare the …
desirable to retain information from static analysis for run-time verification, or to compare the …
A survey of race bug detection techniques for multithreaded programmes
As multithreaded programmes become popular to fully utilize multicore CPUs, many race
bug detection techniques have been developed to find concurrency errors in multithreaded …
bug detection techniques have been developed to find concurrency errors in multithreaded …
Detection of deadlock potentials in multithreaded programs
Concurrent programs are well known for containing errors that are difficult to detect,
reproduce, and diagnose. Deadlock is a common concurrency error, which occurs when a …
reproduce, and diagnose. Deadlock is a common concurrency error, which occurs when a …