Automatic software repair: A survey
Debugging software failures is still a painful, time consuming, and expensive process. For
instance, recent studies showed that debugging activities often account for about 50% of the …
instance, recent studies showed that debugging activities often account for about 50% of the …
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
The reality of multi-core hardware has made concurrent programs pervasive. Unfortunately,
writing correct concurrent programs is difficult. Addressing this challenge requires advances …
writing correct concurrent programs is difficult. Addressing this challenge requires advances …
Race directed random testing of concurrent programs
K Sen - Proceedings of the 29th ACM SIGPLAN Conference on …, 2008 - dl.acm.org
Bugs in multi-threaded programs often arise due to data races. Numerous static and
dynamic program analysis techniques have been proposed to detect data races. We …
dynamic program analysis techniques have been proposed to detect data races. We …
CTrigger: exposing atomicity violation bugs from their hiding places
Multicore hardware is making concurrent programs pervasive. Unfortunately, concurrent
programs are prone to bugs. Among different types of concurrency bugs, atomicity violation …
programs are prone to bugs. Among different types of concurrency bugs, atomicity violation …
Maple: A coverage-driven testing tool for multithreaded programs
J Yu, S Narayanasamy, C Pereira… - Proceedings of the ACM …, 2012 - dl.acm.org
Testing multithreaded programs is a hard problem, because it is challenging to expose
those rare interleavings that can trigger a concurrency bug. We propose a new thread …
those rare interleavings that can trigger a concurrency bug. We propose a new thread …
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 …
Falcon: fault localization in concurrent programs
Concurrency fault are difficult to find because they usually occur under specific thread
interleavings. Fault-detection tools in this area find data-access patterns among thread …
interleavings. Fault-detection tools in this area find data-access patterns among thread …
ConSeq: detecting concurrency bugs through sequential errors
Concurrency bugs are caused by non-deterministic interleavings between shared memory
accesses. Their effects propagate through data and control dependences until they cause …
accesses. Their effects propagate through data and control dependences until they cause …
Randomized active atomicity violation detection in concurrent programs
Atomicity is an important specification that enables programmers to understand atomic
blocks of code in a multi-threaded program as if they are sequential. This significantly …
blocks of code in a multi-threaded program as if they are sequential. This significantly …
ConMem: detecting severe concurrency bugs through an effect-oriented approach
Multicore technology is making concurrent programs increasingly pervasive. Unfortunately, it
is difficult to deliver reliable concurrent programs, because of the huge and non …
is difficult to deliver reliable concurrent programs, because of the huge and non …