Detecting Missing Information in Bug Descriptions
Oscar Chaparro, Jing Lu, Fiorella Zampetti, Laura Moreno, Massimiliano Di Penta, Andrian Marcus, Gabriele Bavota, and Vincent Ng.
Proceedings of the 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 396-407, 2017.
Click here for the
PDF version.
Data and Software
The data and replication package can be found on this page.
Abstract
Bug reports document unexpected software behaviors experienced
by users. To be effective, they should allow bug triagers to easily
understand and reproduce the potential reported bugs, by clearly describing
the Observed Behavior (OB), the Steps to Reproduce (S2R),
and the Expected Behavior (EB). Unfortunately, while considered
extremely useful, reporters often miss such pieces of information in
bug reports and, to date, there is no effective way to automatically
check and enforce their presence. We manually analyzed nearly
3k bug reports to understand to what extent OB, EB, and S2R are
reported in bug reports and what discourse patterns reporters use
to describe such information. We found that (i) while most reports
contain OB (i.e., 93.5%), only 35.2% and 51.4% explicitly describe
EB and S2R, respectively; and (ii) reporters recurrently use 154 discourse
patterns to describe such content. Based on these findings,
we designed and evaluated an automated approach to detect the
absence (or presence) of EB and S2R in bug descriptions. With its
best setting, our approach is able to detect missing EB (S2R) with
85.9% (69.2%) average precision and 93.2% (83%) average recall. Our
approach intends to improve bug descriptions quality by alerting
reporters about missing EB and S2R at reporting time.
BibTeX entry
@InProceedings{Chaparro:17a,
author = {Oscar Chaparro and Jing Lu and Fiorella Zampetti and Laura Moreno and Massimiliano Di Penta and Andrian Marcus and Gabriele Bavota and Vincent Ng},
title = {Detecting Missing Information in Bug Descriptions},
booktitle = {Proceedings of the 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering},
pages = {396--407},
year = 2017}