Maximal sound predictive race detection with control flow abstraction
Despite the numerous static and dynamic program analysis techniques in the literature, data
races remain one of the most common bugs in modern concurrent software. Further, the …
races remain one of the most common bugs in modern concurrent software. Further, the …
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 …
Performance regression testing of concurrent classes
M Pradel, M Huggler, TR Gross - Proceedings of the 2014 International …, 2014 - dl.acm.org
Developers of thread-safe classes struggle with two opposing goals. The class must be
correct, which requires synchronizing concurrent accesses, and the class should provide …
correct, which requires synchronizing concurrent accesses, and the class should provide …
How {Double-Fetch} situations turn into {Double-Fetch} vulnerabilities: A study of double fetches in the linux kernel
We present the first static approach that systematically detects potential double-fetch
vulnerabilities in the Linux kernel. Using a pattern-based analysis, we identified 90 double …
vulnerabilities in the Linux kernel. Using a pattern-based analysis, we identified 90 double …
Axis: Automatically fixing atomicity violations through solving control constraints
Atomicity, a general correctness criterion in concurrency programs, is often violated in real-
world applications. The violations are difficult for developers to fix, making automatic bug …
world applications. The violations are difficult for developers to fix, making automatic bug …
A survey of recent trends in testing concurrent software systems
Many modern software systems are composed of multiple execution flows that run
simultaneously, spanning from applications designed to exploit the power of modern multi …
simultaneously, spanning from applications designed to exploit the power of modern multi …
Grail: Context-aware fixing of concurrency bugs
Writing efficient synchronization for multithreaded programs is notoriously hard. The
resulting code often contains subtle concurrency bugs. Even worse, many bug fixes …
resulting code often contains subtle concurrency bugs. Even worse, many bug fixes …
Debugging concurrent software: Advances and challenges
Concurrency debugging is an extremely important yet challenging problem that has been
hampering developer productivity and software reliability in the multicore era. We have …
hampering developer productivity and software reliability in the multicore era. We have …
Automatically detecting and fixing concurrency bugs in go software systems
Go is a statically typed programming language designed for efficient and reliable concurrent
programming. For this purpose, Go provides lightweight goroutines and recommends …
programming. For this purpose, Go provides lightweight goroutines and recommends …
Jacontebe: A benchmark suite of real-world java concurrency bugs (T)
Researchers have proposed various approaches to detect concurrency bugs and improve
multi-threaded programs, but performing evaluations of the effectiveness of these …
multi-threaded programs, but performing evaluations of the effectiveness of these …