Errors of omission in software received much attention in recent years. Recent studies find that omission errors are harder to detect than errors of commission. Several change recommendation approaches are also designed to reduce omission errors.
As a first step toward understanding why errors of omissions occur and how such errors could be prevented, this paper investigates the characteristics of supplementary bug fixes in three open source projects, Eclipse JDT core, Mozilla and Eclipse SWT. Supplementary bug fixes refer to code changes that address a bug ID that was fixed before. Our study shows that 22.46\% to 32.81\% of bug IDs were mentioned in more than one revision, indicating that an initial attempt to fix bugs is often incomplete. Further, our study finds that the location of supplementary bug fixes is correlated with the location of the initial bug fixes\textemdash
90.81\% and 72.29\% of supplementary bug fixes are made to the same line location as initial fixes in Eclipse JDT and SWT respectively. 67.34\% and 68.17\% of newly modified files in supplementary bug fixes have structural dependencies (method calls, field access, and subtyping relations) to the initial bug fix location. In contrast to a conventional wisdom that missed updates to code clones often lead to errors, our study result indicates that only a small portion of supplementary bug fixes is similar to the content of initial bug fixes. This result implies that additional change locations cannot be predicted by code clone analysis alone.