SysPro: Reproducing System-level Concurrency Bugs from Bug Reports
Tarannum Shaila Zaman, Zhihui Yan, Chen Wang, Chadni Islam, Jiangfan Shi, Tingting Yu
TL;DR
SysPro tackles the challenge of reproducing system-level concurrency bugs from bug reports by automating the extraction of failure-inducing system-call interleavings and inputs, localizing them in source code with a structured IR approach, and reproducing bugs through dynamic instrumentation using PIN. It uses a two-phase workflow: (1) localize buggy system calls via IR and apriori-based ranking, and (2) generate test cases and enforce interleavings to trigger bugs. The empirical study on real-world benchmarks demonstrates high effectiveness (≈95.8% reproduction) and efficiency (average ≈9 minutes per bug) with strong MAP and recall metrics, and shows that structured IR plus apriori significantly outperform baselines and random testing. SysPro’s automation reduces reliance on manual bug reproduction, enabling rapid, repeatable debugging for system-level concurrency issues and offering a practical path toward larger reproducible-bug datasets.
Abstract
Reproducing system-level concurrency bugs requires both input data and the precise interleaving order of system calls. This process is challenging because such bugs are non-deterministic, and bug reports often lack the detailed information needed. Additionally, the unstructured nature of reports written in natural language makes it difficult to extract necessary details. Existing tools are inadequate to reproduce these bugs due to their inability to manage the specific interleaving at the system call level. To address these challenges, we propose SysPro, a novel approach that automatically extracts relevant system call names from bug reports and identifies their locations in the source code. It generates input data by utilizing information retrieval, regular expression matching, and the category-partition method. This extracted input and interleaving data are then used to reproduce bugs through dynamic source code instrumentation. Our empirical study on real-world benchmarks demonstrates that SysPro is both effective and efficient at localizing and reproducing system-level concurrency bugs from bug reports.
