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.