ConPredictor: Concurrency Defect Prediction in Real-World Applications
Not on the map. Why?
Abstract (arXiv)
Concurrent programs are difficult to test due to their inherent non-determinism. To address this problem, testing often requires the exploration of thread schedules of a program; this can be time-consuming when applied to real-world programs. Software defect prediction has been used to help developers find faults and prioritize their testing efforts. Prior studies have used machine learning to build such predicting models based on designed features that encode the characteristics of programs. However, research has focused on sequential programs; to date, no work has considered defect prediction for concurrent programs, with program characteristics distinguished from sequential programs. In this paper, we present ConPredictor, an approach to predict defects specific to concurrent programs by combining both static and dynamic program metrics. Specifically, we propose a set of novel static code metrics based on the unique properties of concurrent programs. We also leverage additional guidance from dynamic metrics constructed based on mutation analysis. Our evaluation on four large open source projects shows that ConPredictor improved both within-project defect prediction and cross-project defect prediction compared to traditional features.
Key facts. Cited by 4 papers in the map (data through 7 Oct 2026). First posted on arXiv 10 Apr 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 1; 2023: 1; 2024: 2.
4 papers.
- 2023Predicting Software Performance with Divide-and-Learncited by 16
- 2022The impact of feature importance methods on the interpretation of defect classifierscited by 12
- 2024Deep Configuration Performance Learning: A Systematic Survey and Taxonomycited by 8
- 2024Dividable Configuration Performance Learningcited by 4
- 2024Dividable Configuration Performance Learning11 Sep 2024
- 2024Deep Configuration Performance Learning: A Systematic Survey and Taxonomy5 Mar 2024
- 2023Predicting Software Performance with Divide-and-Learn11 Jun 2023
- 2022The impact of feature importance methods on the interpretation of defect classifiers4 Feb 2022