Locating Software Errors à la Google

Large part of software development is fixing errors, to improve software quality and customer satisfaction.

We developed an approach (and proof-of-concept tool for Java) that suggests the 10 most likely files where to fix an error. This could help to:

  • reduce time and cost to correct errors, by automatically adding the suggestions to the error report;
  • build confidence and improve productivity of new or outsourced staff not familiar with the codebase;
  • assign the work to a developer, based on who worked most or last on the suggested files.

Our approach is fast, light-weight and simple. Unlike other approaches, it doesn’t require project history and yet outperforms them: for 8 open source projects, we locate on average 77% of their errors, i.e. we list at least one faulty file among the 10 suggested files.

We are looking for academic and industrial collaborations to:

  • Try out the tool on industrial code.
  • Improve the accuracy of the results.
  • Extend to other programming languages, besides Java.
  • Integrate with professional workflows and tools, e.g. bug tracking systems, continuous integration tools, IDEs.

Locating Bugs without Looking Back, MSR 2016. Paper: http://oro.open.ac.uk/45654.