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 :
بازگشت