ConPredictor: Concurrency Defect Prediction in Real-World Applications

被引:36
作者
Yu, Tingting [1 ]
Wen, Wei [1 ]
Han, Xue [1 ]
Hayes, Jane Huffman [1 ]
机构
[1] Univ Kentucky, Dept Comp Sci, Lexington, KY 40506 USA
基金
美国国家科学基金会;
关键词
Concurrency; defect prediction; software quality; software metrics; SOFTWARE; METRICS; MUTATION;
D O I
10.1109/TSE.2018.2791521
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:558 / 575
页数:18
相关论文
共 98 条
  • [1] Agrawal H., 1989, Technical Report. Technical Report SERCTR- 41- P
  • [2] Ammann P., 2008, INTRO SOFTWARE TESTI
  • [3] Is mutation an appropriate tool for testing experiments?
    Andrews, JH
    Briand, LC
    Labiche, Y
    [J]. ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, : 402 - 411
  • [4] [Anonymous], 2009, ACM SIGKDD explorations newsletter, DOI 10.1145/1656274.1656278
  • [5] [Anonymous], 2004, Introduction to machine learning
  • [6] [Anonymous], P 23 INT C SOFTW ENG
  • [7] [Anonymous], 2011, P 8 EUR SOFTW ENG C, DOI [10.1145/2025113.2025144, DOI 10.1145/2025113.2025144]
  • [8] [Anonymous], 2014, Software Metrics: A Rigorous and Practical Approach
  • [9] Bachmann A., 2010, P FAST SOFTW ENCR WO, P97
  • [10] Barandela R, 2004, LECT NOTES COMPUT SC, V3138, P806