DocumentCode
2401323
Title
An empirical study of supplementary bug fixes
Author
Park, Jihun ; Kim, Miryung ; Ray, Baishakhi ; Bae, Doo-Hwan
Author_Institution
Korea Adv. Inst. of Sci. & Technol., Daejeon, South Korea
fYear
2012
fDate
2-3 June 2012
Firstpage
40
Lastpage
49
Abstract
A recent study finds that errors of omission are harder for programmers to detect than errors of commission. While several change recommendation systems already exist to prevent or reduce omission errors during software development, there have been very few studies on why errors of omission occur in practice and how such errors could be prevented. In order to understand the characteristics of omission errors, this paper investigates a group of bugs that were fixed more than once in open source projects - those bugs whose initial patches were later considered incomplete and to which programmers applied supplementary patches. Our study on Eclipse JDT core, Eclipse SWT, and Mozilla shows that a significant portion of resolved bugs (22% to 33%) involves more than one fix attempt. Our manual inspection shows that the causes of omission errors are diverse, including missed porting changes, incorrect handling of conditional statements, or incomplete refactorings, etc. While many consider that missed updates to code clones often lead to omission errors, only a very small portion of supplementary patches (12% in JDT, 25% in SWT, and 9% in Mozilla) have a content similar to their initial patches. This implies that supplementary change locations cannot be predicted by code clone analysis alone. Furthermore, 14% to 15% of files in supplementary patches are beyond the scope of immediate neighbors of their initial patch locations - they did not overlap with the initial patch locations nor had direct structural dependencies on them (e.g. calls, accesses, subtyping relations, etc.). These results call for new types of omission error prevention approaches that complement existing change recommendation systems.
Keywords
inspection; program debugging; project management; public domain software; recommender systems; software maintenance; Eclipse JDT core; Eclipse SWT; Mozilla; change recommendation system; code clone analysis; conditional statement handling; manual inspection; omission error detection; omission error prevention approach; open source project; software development; supplementary bug fixes; supplementary patch; Cloning; Computer bugs; Databases; Dispersion; Entropy; History; Manuals; bug fixes; empirical study; patches; software evolution;
fLanguage
English
Publisher
ieee
Conference_Titel
Mining Software Repositories (MSR), 2012 9th IEEE Working Conference on
Conference_Location
Zurich
ISSN
2160-1852
Print_ISBN
978-1-4673-1760-3
Type
conf
DOI
10.1109/MSR.2012.6224298
Filename
6224298
Link To Document