The missing links: bugs and bug-fix commits

TitleThe missing links: bugs and bug-fix commits
Publication TypeConference Paper
Year of Publication2010
AuthorsBachmann, A, Bird C, Rahman F, Devanbu P, Bernstein A
Conference NameProceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Conference LocationNew York, NY, USA
ISBN Number978-1-60558-791-2
Keywordsapache, bias, case study, manual annotation, tool

Empirical studies of software defects rely on links between bug databases and program code repositories. This linkage is typically based on bug-fixes identified in developer-entered commit logs. Unfortunately, developers do not always report which commits perform bug-fixes. Prior work suggests that such links can be a biased sample of the entire population of fixed bugs. The validity of statistical hypotheses-testing based on linked data could well be affected by bias. Given the wide use of linked defect data, it is vital to gauge the nature and extent of the bias, and try to develop testable theories and models of the bias. To do this, we must establish ground truth: manually analyze a complete version history corpus, and nail down those commits that fix defects, and those that do not. This is a diffcult task, requiring an expert to compare versions, analyze changes, find related bugs in the bug database, reverse-engineer missing links, and finally record their work for use later. This effort must be repeated for hundreds of commits to obtain a useful sample of reported and unreported bug-fix commits. We make several contributions. First, we present Linkster, a tool to facilitate link reverse-engineering. Second, we evaluate this tool, engaging a core developer of the Apache HTTP web server project to exhaustively annotate 493 commits that occurred during a six week period. Finally, we analyze this comprehensive data set, showing that there are serious and consequential problems in the data.

Refereed DesignationRefereed