Gobench: A benchmark suite of real-world go concurrency bugs

T Yuan, G Li, J Lu, C Liu, L Li… - 2021 IEEE/ACM …, 2021 - ieeexplore.ieee.org
Go, a fast growing programming language, is often considered as “the programming
language of the cloud”. The language provides a rich set of synchronization primitives …

An interleaving guided metamorphic testing approach for concurrent programs

CA Sun, H Dai, N Geng, H Liu, TY Chen, P Wu… - ACM Transactions on …, 2023 - dl.acm.org
Concurrent programs are normally composed of multiple concurrent threads sharing
memory space. These threads are often interleaved, which may lead to some non …

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 …

Sherlock: scalable deadlock detection for concurrent programs

M Eslamimehr, J Palsberg - Proceedings of the 22nd ACM SIGSOFT …, 2014 - dl.acm.org
We present a new technique to find real deadlocks in concurrent programs that use locks.
For 4.5 million lines of Java, our technique found almost twice as many real deadlocks as …

Coarser Equivalences for Causal Concurrency

A Farzan, U Mathur - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Trace theory (formulated by Mazurkiewicz in 1987) is a principled framework for defining
equivalence relations for concurrent program runs based on a commutativity relation over …

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 …

Deadlock prediction via generalized dependency

J Zhou, H Yang, J Lange, T Liu - Proceedings of the 31st ACM SIGSOFT …, 2022 - dl.acm.org
Deadlocks are notorious bugs in multithreaded programs, causing serious reliability issues.
However, they are difficult to be fully expunged before deployment, as their appearances …

Multithreaded test synthesis for deadlock detection

M Samak, MK Ramanathan - Proceedings of the 2014 ACM International …, 2014 - dl.acm.org
Designing and implementing thread-safe multithreaded libraries can be a daunting task as
developers of these libraries need to ensure that their implementations are free from …

Pinpointing and repairing performance bottlenecks in concurrent programs

T Yu, M Pradel - Empirical Software Engineering, 2018 - Springer
Developing concurrent software that is both correct and efficient is challenging. Past
research has proposed various techniques that support developers in finding …