Performance problems you can fix: A dynamic analysis of memoization opportunities
L Della Toffola, M Pradel, TR Gross - ACM SIGPLAN Notices, 2015 - dl.acm.org
Performance bugs are a prevalent problem and recent research proposes various
techniques to identify such bugs. This paper addresses a kind of performance problem that …
techniques to identify such bugs. This paper addresses a kind of performance problem that …
Predictive monitoring against pattern regular languages
While current bug detection techniques for concurrent software focus on unearthing low-
level issues such as data races or deadlocks, they often fall short of discovering more …
level issues such as data races or deadlocks, they often fall short of discovering more …
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 …
Atomicity checking in linear time using vector clocks
U Mathur, M Viswanathan - Proceedings of the Twenty-Fifth International …, 2020 - dl.acm.org
Multi-threaded programs are challenging to write. Developers often need to reason about a
prohibitively large number of thread interleavings to reason about the behavior of software …
prohibitively large number of thread interleavings to reason about the behavior of software …
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 …
Octet: Capturing and controlling cross-thread dependences efficiently
Parallel programming is essential for reaping the benefits of parallel hardware, but it is
notoriously difficult to develop and debug reliable, scalable software systems. One key …
notoriously difficult to develop and debug reliable, scalable software systems. One key …
Synthesizing tests for detecting atomicity violations
M Samak, MK Ramanathan - Proceedings of the 2015 10th Joint …, 2015 - dl.acm.org
Using thread-safe libraries can help programmers avoid the complexities of multithreading.
However, designing libraries that guarantee thread-safety can be challenging. Detecting …
However, designing libraries that guarantee thread-safety can be challenging. Detecting …
A tree clock data structure for causal orderings in concurrent executions
Dynamic techniques are a scalable and effective way to analyze concurrent programs.
Instead of analyzing all behaviors of a program, these techniques detect errors by focusing …
Instead of analyzing all behaviors of a program, these techniques detect errors by focusing …
Lightweight data race detection for production runs
To detect data races that harm production systems, program analysis must target production
runs. However, sound and precise data race detection adds too much run-time overhead for …
runs. However, sound and precise data race detection adds too much run-time overhead for …
Scalable thread sharing analysis
J Huang - Proceedings of the 38th International Conference on …, 2016 - dl.acm.org
We present two scalable algorithms for identifying program locations that access thread-
shared data in concurrent programs. The static algorithm, though simple, and without …
shared data in concurrent programs. The static algorithm, though simple, and without …