Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
10-2016
Abstract
Due to the complexity of software systems, bugs are inevitable. Software debugging is tedious and time consuming. To help developers perform this crucial task, a number of spectra-based fault localization techniques have been proposed. In general, spectra-based fault localization helps developers to find the location of a bug given its symptoms (e.g., program failures). A previous study by Parnin and Orso however implies that several assumptions made by existing work on spectra-based fault localization do not hold in practice, which hinders the practical usage of these tools. Moreover, a recent study by Xie et al. claims that spectra-based fault localization can potentially "weaken programmers' abilities in fault detection".Unfortunately, these studies are performed either using only 2 bugs from small systems (Parnin and Orso's study) or synthetic bugs injected into toy programs (Xie et al.'s study), only involve students, and use dated spectra-based fault localization tools. Thus, the question whether spectra-based fault localization techniques can help professionals to improve their debugging efficiency in a reasonably large project is still insufficiently answered. In this paper, we perform a more realistic investigation of how professionals can use and benefit from spectra-based fault localization techniques. We perform a user study of spectra-based fault localization with a total of 16 real bugs from 4 reasonably large open-source projects, with 36 professionals, amounting to 80 recorded debugging hours. The 36 professionals are divided into 3 groups, i.e., those that use an accurate fault localization tool, use a mediocre fault localization tool, and do not use any fault localization tool. Our study finds that both the accurate and mediocre spectra-based fault localization tools can help professionals to save their debugging time, and the improvements are statistically significant and substantial. We also discuss implications of our findings to future directions of spectra-based fault localization.
Keywords
Computer bugs, Debugging, Open source software, Java, Outsourcing, Software maintenance, User Study, Automated Debugging, Spectra-Based Fault Localization, Empirical Study
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME 2016): Raleigh, NC, 2-7 October 2016
ISBN
9781509038060
Identifier
10.1109/ICSME.2016.67
Publisher
IEEE
City or Country
Piscataway, NJ
Citation
XIA, Xin; BAO, Lingfeng; LO, David; and LI, Shanping.
"Automated debugging considered harmful" considered harmful: A user study revisiting the usefulness of spectra-based fault localization techniques with professionals using real bugs from large systems. (2016). Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME 2016): Raleigh, NC, 2-7 October 2016.
Available at: https://ink.library.smu.edu.sg/sis_research/3752
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
http://doi.org/10.1109/ICSME.2016.67