Lune

FSE2021Top-tier venue

Sound and efficient concurrency bug prediction

Yan Cai, Hao Yun, Jinqiu Wang, Lei Qiao, Jens Palsberg

2021Year
29Citations
7Top-tier citations

Abstract

Concurrency bugs are extremely difficult to detect. Recently, several dynamic techniques achieve sound analysis. M2 is even complete for two threads. It is designed to decide whether two events can occur consecutively. However, real-world concurrency bugs can involve more events and threads. Some can occur when the order of two or more events can be exchanged even if they occur not consecutively. We propose a new technique SeqChec to soundly decide whether a sequence of events can occur in a specified order. The ordered sequence represents a potential concurrency bug. And several known forms of concurrency bugs can be easily encoded into event sequences where each represents a way that the bug can occur. To achieve it, SeqChec explicitly analyzes branch events and includes a set of efficient algorithms. We show that SeqChec is sound; and it is also complete on traces of two threads.

We have implemented SeqChec to detect three types of concurrency bugs and evaluated it on 51 Java benchmarks producing up to billions of events. Compared with M2 and other three recent sound race detectors, SeqChec detected 333 races in 30 minutes; while others detected from 130 to 285 races in 6 to 12 hours. SeqChec detected 20 deadlocks in 6 seconds. This is only one less than Dirk; but Dirk spent more than one hour. SeqChec also detected 30 atomicity violations in 20 minutes. The evaluation shows SeqChec can significantly outperform existing concurrency bug detectors.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext b95700d1-9d5d-4cf3-94fd-8a9d9b095a53

Cited by top-tier papers7

Ask how each one uses it

Builds on2

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines