kirancodes.me
To Proof Maintenance & Beyond!

Where is the bug and how is it fixed? an experiment with practitioners

Marcel Böhme, Ezekiel O. Soremekun, Sudipta Chattopadhyay, Emamurho Ugherughe, Andreas Zeller

Abstract

Research has produced many approaches to automatically locate, explain, and repair software bugs. But do these approaches relate to the way practitioners actually locate, understand, and fix bugs? To help answer this question, we have collected a dataset named DBGBENCH --- the correct fault locations, bug diagnoses, and software patches of 27 real errors in open-source C projects that were consolidated from hundreds of debugging sessions of professional software engineers. Moreover, we shed light on the entire debugging process, from constructing a hypothesis to submitting a patch, and how debugging time, difficulty, and strategies vary across practitioners and types of errors. Most notably, DBGBENCH can serve as reality check for novel automated debugging and repair techniques.

BibTeX
@inproceedings{Boehme-al:FSE17,
  author    = {Marcel B{\"{o}}hme and
               Ezekiel O. Soremekun and
               Sudipta Chattopadhyay and
               Emamurho Ugherughe and
               Andreas Zeller},
  title     = {Where is the bug and how is it fixed? an experiment with practitioners},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {117--128},
  publisher = {{ACM}},
  year      = {2017},
}

Related papers