Gobench: A benchmark suite of real-world go concurrency bugs
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 …
language of the cloud”. The language provides a rich set of synchronization primitives …
An interleaving guided metamorphic testing approach for concurrent programs
Concurrent programs are normally composed of multiple concurrent threads sharing
memory space. These threads are often interleaved, which may lead to some non …
memory space. These threads are often interleaved, which may lead to some non …
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 …
Syncprof: Detecting, localizing, and optimizing synchronization bottlenecks
Writing concurrent programs is a challenge because developers must consider both
functional correctness and performance requirements. Numerous program analyses and …
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 …
For 4.5 million lines of Java, our technique found almost twice as many real deadlocks as …
Coarser Equivalences for Causal Concurrency
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 …
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 …
inadequate synchronization are often difficult to pinpoint precisely using only static …
Deadlock prediction via generalized dependency
Deadlocks are notorious bugs in multithreaded programs, causing serious reliability issues.
However, they are difficult to be fully expunged before deployment, as their appearances …
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 …
developers of these libraries need to ensure that their implementations are free from …
Pinpointing and repairing performance bottlenecks in concurrent programs
Developing concurrent software that is both correct and efficient is challenging. Past
research has proposed various techniques that support developers in finding …
research has proposed various techniques that support developers in finding …