Associating synchronization constraints with data in an object-oriented language

M Vaziri, F Tip, J Dolby - ACM Sigplan Notices, 2006‏ - dl.acm.org
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 …

Verify your runs

K Havelund, A Goldberg - … on Verified Software: Theories, Tools, and …, 2005‏ - Springer
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 …

Dynamic detection of atomic-set-serializability violations

C Hammer, J Dolby, M Vaziri, F Tip - Proceedings of the 30th …, 2008‏ - dl.acm.org
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 …

Dynamic deadlock analysis of multi-threaded programs

S Bensalem, K Havelund - Haifa Verification Conference, 2005‏ - Springer
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 …

Racer: Effective race detection using AspectJ

E Bodden, K Havelund - … of the 2008 international symposium on …, 2008‏ - dl.acm.org
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 …

Healing data races on-the-fly

B Krena, Z Letko, R Tzoref, S Ur, T Vojnar - proceedings of the 2007 …, 2007‏ - dl.acm.org
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 …

Towards a framework and a benchmark for testing tools for multi‐threaded programs

Y Eytani, K Havelund, SD Stoller… - … : Practice and Experience, 2007‏ - Wiley Online Library
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 …

Combined static and dynamic analysis

C Artho, A Biere - Electronic Notes in Theoretical Computer Science, 2005‏ - Elsevier
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 …

A survey of race bug detection techniques for multithreaded programmes

S Hong, M Kim - Software Testing, Verification and Reliability, 2015‏ - Wiley Online Library
As multithreaded programmes become popular to fully utilize multicore CPUs, many race
bug detection techniques have been developed to find concurrency errors in multithreaded …

Detection of deadlock potentials in multithreaded programs

R Agarwal, S Bensalem, E Farchi… - IBM Journal of …, 2010‏ - ieeexplore.ieee.org
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 …