Return
MV-SZZ: An Empirical Study of a Majority Voting-Based SZZ Method
I
M
D
Y
Y
DOI:10.1109/tse.2026.3688089.png)
Abstract
En 中文
The SZZ method identifies defect-inducing commits by tracing lines modified in defect-fixing commits back to the commits that introduced them. While this method is widely used, it may fail to identify defect-inducing commits that are untraceable at the line-level. To address this limitation, a previous study proposed a Token-SZZ method that tracks changes at the token-level. This approach converts a line-level Git history into a token-level history by decomposing each line into individual tokens. While this method is able to identify defect-inducing commits that the previous SZZ method misses, it also incorrectly identifies many commits as defect-inducing (false positives), resulting in decreased performance. To mitigate this issue, we propose <i>Majority Voting SZZ (MV-SZZ)</i>, which consists of two key features: an <inline-formula><tex-math notation="LaTeX">${N}$</tex-math></inline-formula><i>-token representation</i> of the Git history and a <i>majority voting mechanism</i>. The <inline-formula><tex-math notation="LaTeX">${N}$</tex-math></inline-formula>-token representation expands on the token-level concept (where <inline-formula><tex-math notation="LaTeX">${N} \mathbf{= 1}$</tex-math></inline-formula>) by instead using <inline-formula><tex-math notation="LaTeX">${N}$</tex-math></inline-formula> (<inline-formula><tex-math notation="LaTeX">${N} \mathbf{\gt 1}$</tex-math></inline-formula>) consecutive tokens as a single line. This allows the method to capture more context for defect identification. The majority voting mechanism identifies the most frequent candidate commit associated with the changed tokens, and selects it as the defect-inducing commit. This approach effectively filters out unrelated tokens and reduces false positives. We compared MV-SZZ with six SZZ methods on both the Developer-IO and Defects4J datasets. MV-SZZ achieved the highest F1 and F0.5 scores on both datasets (F1: 0.587 and 0.580; F0.5: 0.591 and 0.578). Interestingly, we found that the issue of increased false positives due to token-level tracking is not unique to token-level methods; rather, it is a general problem that arises in SZZ methods when more accurate tracking is applied. Moreover, we demonstrated that our majority voting mechanism serves as an effective filtering strategy for SZZ variants in general.
Keywords:
SZZ
bug inducing commit
software repository mining
empirical study
Journal
IF:
5.6
Papers:
2.8K
Citations:
1.1W
