Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testing

G Li, S Lu, M Musuvathi, S Nath, R Padhye - Proceedings of the 27th …, 2019 - dl.acm.org
Concurrency bugs are hard to find, reproduce, and debug. They often escape rigorous in-
house testing, but result in large-scale outages in production. Existing concurrency-bug …

Witcher: Systematic crash consistency testing for non-volatile memory key-value stores

X Fu, WH Kim, AP Shreepathi, M Ismail… - Proceedings of the …, 2021 - dl.acm.org
The advent of non-volatile main memory (NVM) enables the development of crash-
consistent software without paying storage stack overhead. However, building a correct …

A study of real-world data races in Golang

M Chabbi, MK Ramanathan - Proceedings of the 43rd ACM SIGPLAN …, 2022 - dl.acm.org
The concurrent programming literature is rich with tools and techniques for data race
detection. Less, however, has been known about real-world, industry-scale deployment …

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 …

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 …

Syncprof: Detecting, localizing, and optimizing synchronization bottlenecks

T Yu, M Pradel - Proceedings of the 25th International Symposium on …, 2016 - dl.acm.org
Writing concurrent programs is a challenge because developers must consider both
functional correctness and performance requirements. Numerous program analyses and …

Efficient detection of thread safety violations via coverage-guided generation of concurrent tests

A Choudhary, S Lu, M Pradel - 2017 IEEE/ACM 39th …, 2017 - ieeexplore.ieee.org
As writing concurrent programs is challenging, developers often rely on thread-safe classes,
which encapsulate most synchronization issues. Testing such classes is crucial to ensure …

{DURINN}: Adversarial Memory and Thread Interleaving for Detecting Durable Linearizability Bugs

X Fu, D Lee, C Min - 16th USENIX Symposium on Operating Systems …, 2022 - usenix.org
Non-volatile memory (NVM) has promoted the development of concurrent crash-consistent
data structures, which serve as the backbone of various in-memory persistent applications …

Will dependency conflicts affect my program's semantics?

Y Wang, R Wu, C Wang, M Wen, Y Liu… - IEEE Transactions …, 2021 - ieeexplore.ieee.org
Java projects are often built on top of various third-party libraries. If multiple versions of a
library exist on the classpath, JVM will only load one version and shadow the others, which …

Synthesizing racy tests

M Samak, MK Ramanathan, S Jagannathan - ACM SIGPLAN Notices, 2015 - dl.acm.org
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or
inadequate synchronization are often difficult to pinpoint precisely using only static …