2026-05-08 九州大学
図1:新技術「MV-SZZ」の概要
<関連情報>
- https://www.kyushu-u.ac.jp/ja/researches/view/1436
- https://www.computer.org/csdl/journal/ts/5555/01/11495282/2g3D3bBc24M
MV-SZZ:多数決に基づくSZZ手法の実証研究 MV-SZZ: An Empirical Study of a Majority Voting-Based SZZ Method
Inase Kondo, Masanari Kondo, Daniel M. German, Yasutaka Kamei, Yoshiki Higo
IEEE Transactions on Software Engineering
DOI:https://doi.ieeecomputersociety.org/10.1109/TSE.2026.3688089
Abstract
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 Majority Voting SZZ (MV-SZZ), which consists of two key features: an N-token representation of the Git history and a majority voting mechanism. The N-token representation expands on the token-level concept (where N = 1) by instead using N (N > 1) 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.


