Predicting concurrency bugs: How many, what kind and where are they?

Bo Zhou, Iulian Neamtiu, Rajiv Gupta

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Scopus citations

Abstract

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.

Original languageEnglish (US)
Title of host publicationProceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, EASE 2015
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450333504
DOIs
StatePublished - Apr 27 2015
Externally publishedYes
Event19th International Conference on Evaluation and Assessment in Software Engineering, EASE 2015 - Nanjing, China
Duration: Apr 27 2015Apr 29 2015

Publication series

NameACM International Conference Proceeding Series
Volume27-29-April-2015

Other

Other19th International Conference on Evaluation and Assessment in Software Engineering, EASE 2015
Country/TerritoryChina
CityNanjing
Period4/27/154/29/15

All Science Journal Classification (ASJC) codes

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications

Cite this