  Modern version control systems such as Git or SVN include bug tracking
mechanisms, through which developers can highlight the presence of bugs through
bug reports, i.e., textual descriptions reporting the problem and what are the
steps that led to a failure. In past and recent years, the research community
deeply investigated methods for easing bug triage, that is, the process of
assigning the fixing of a reported bug to the most qualified developer.
Nevertheless, only a few studies have reported on how to support developers in
the process of understanding the type of a reported bug, which is the first and
most time-consuming step to perform before assigning a bug-fix operation. In
this paper, we target this problem in two ways: first, we analyze 1,280 bug
reports of 119 popular projects belonging to three ecosystems such as Mozilla,
Apache, and Eclipse, with the aim of building a taxonomy of the root causes of
reported bugs; then, we devise and evaluate an automated classification model
able to classify reported bugs according to the defined taxonomy. As a result,
we found nine main common root causes of bugs over the considered systems.
Moreover, our model achieves high F-Measure and AUC-ROC (64% and 74% on
overall, respectively).
