TY - GEN
T1 - Predicting concurrency bugs
T2 - 19th International Conference on Evaluation and Assessment in Software Engineering, EASE 2015
AU - Zhou, Bo
AU - Neamtiu, Iulian
AU - Gupta, Rajiv
N1 - Publisher Copyright:
Copyright 2015 ACM.
PY - 2015/4/27
Y1 - 2015/4/27
N2 - Concurrency bugs are difficult to find and fix. To help with finding and fixing concurrency bugs, prior research has mostly focused on static or dynamic analyses for finding specific classes of bugs. We present an approach whose focus is understanding the differences between concurrency and non-concurrency bugs, the differences among various concurrency bug classes, and predicting bug quantity, type, and location, from patches, bug reports and bug-fix metrics. First, we show that bug characteristics and bug-fuxing processes vary significantly among different kinds of concurrency bugs and compared to non-concurrency bugs. Next, we build a quantitative predictor model to estimate concurrency bugs appearance in future releases. Then, we build a qualitative predictor that can predict the type of concurrency bug for a newly-filed bug report. Finally, we build a bug location predictor to indicate the likely source code location for newly-reported bugs. We validate the effectiveness of our approach on three popular projects, Mozilla, KDE, and Apache.
AB - Concurrency bugs are difficult to find and fix. To help with finding and fixing concurrency bugs, prior research has mostly focused on static or dynamic analyses for finding specific classes of bugs. We present an approach whose focus is understanding the differences between concurrency and non-concurrency bugs, the differences among various concurrency bug classes, and predicting bug quantity, type, and location, from patches, bug reports and bug-fix metrics. First, we show that bug characteristics and bug-fuxing processes vary significantly among different kinds of concurrency bugs and compared to non-concurrency bugs. Next, we build a quantitative predictor model to estimate concurrency bugs appearance in future releases. Then, we build a qualitative predictor that can predict the type of concurrency bug for a newly-filed bug report. Finally, we build a bug location predictor to indicate the likely source code location for newly-reported bugs. We validate the effectiveness of our approach on three popular projects, Mozilla, KDE, and Apache.
UR - http://www.scopus.com/inward/record.url?scp=84961113053&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84961113053&partnerID=8YFLogxK
U2 - 10.1145/2745802.2745807
DO - 10.1145/2745802.2745807
M3 - Conference contribution
AN - SCOPUS:84961113053
T3 - ACM International Conference Proceeding Series
BT - Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, EASE 2015
PB - Association for Computing Machinery
Y2 - 27 April 2015 through 29 April 2015
ER -