Fixing software defects is as important to improving software quality as finding them. Defect finding tools have focused on finding more defects or reducing false positives; however, these tools often do not include code suggestions to fix the defects. As a result, developers may spend a significant amount of time fixing the defects in their code and even introducing new defects as they try to fix the old defects. In this paper, we propose an interactive defect fixing approach called FixBugs that is designed to assist developers with fixing defects. To assess the usability of FixBugs, we conducted an experiment comparing FixBugs to Eclipse Quick Fix and manual fixes with 12 participants. The results show that our approach is as effective as non-interactive approaches, faster in some cases, and leads to greater user satisfaction. Based on the results of our experiment, we suggest design guidelines for bug fixing tools.
- Brittany Johnson, Yoonki Song, Emerson Murphy-Hill, and Robert Bowdidge. Why don't software developers use static analysis tools to find bugs? Proceedings of the 2013 International Conference on Software Engineering (ICSE), pages 132-141, 2013.