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 …

Predictive monitoring against pattern regular languages

Z Ang, U Mathur - Proceedings of the ACM on Programming Languages, 2024 - dl.acm.org
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 …

A survey of recent trends in testing concurrent software systems

FA Bianchi, A Margara, M Pezzè - IEEE Transactions on …, 2017 - ieeexplore.ieee.org
Many modern software systems are composed of multiple execution flows that run
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 …

Jacontebe: A benchmark suite of real-world java concurrency bugs (T)

Z Lin, D Marinov, H Zhong, Y Chen… - 2015 30th IEEE/ACM …, 2015 - ieeexplore.ieee.org
Researchers have proposed various approaches to detect concurrency bugs and improve
multi-threaded programs, but performing evaluations of the effectiveness of these …

Octet: Capturing and controlling cross-thread dependences efficiently

MD Bond, M Kulkarni, M Cao, M Zhang… - ACM SIGPLAN …, 2013 - dl.acm.org
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 …

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 …

A tree clock data structure for causal orderings in concurrent executions

U Mathur, A Pavlogiannis, HC Tunç… - Proceedings of the 27th …, 2022 - dl.acm.org
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 …

Lightweight data race detection for production runs

S Biswas, M Cao, M Zhang, MD Bond… - Proceedings of the 26th …, 2017 - dl.acm.org
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 …

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 …