Publication | Closed Access
An empirical study of supplementary bug fixes
30
Citations
25
References
2012
Year
Unknown Venue
Software MaintenanceEmpirical Software Engineering ResearchSoftware DevelopmentEngineeringCode RefactoringProgram AnalysisSoftware TestingVerificationAutomated RepairSoftware EngineeringSource Code AnalysisComputer ScienceSupplementary PatchesOpen Source ProjectsSupplementary Bug FixesSoftware AnalysisSoftware MiningSoftware Design
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1