MV-SZZ:基于多数投票的SZZ方法的实证研究

《IEEE Transactions on Software Engineering》:MV-SZZ: An Empirical Study of a Majority Voting-Based SZZ Method

【字体: 大 中 小 】 时间:2026年04月29日 来源:IEEE Transactions on Software Engineering 5.6

编辑推荐:

   摘要:SZZ方法通过将修复缺陷的提交中修改的行追溯到引入这些修改的提交,来识别导致缺陷的提交。虽然这种方法被广泛使用,但它可能无法识别那些在行级别无法追踪的导致缺陷的提交。为了解决这一限制,之前的研究提出了一种Token-SZZ方法,该方法在令牌级别进行追踪。该方法通过将每一行

  

摘要:

SZZ方法通过将修复缺陷的提交中修改的行追溯到引入这些修改的提交,来识别导致缺陷的提交。虽然这种方法被广泛使用,但它可能无法识别那些在行级别无法追踪的导致缺陷的提交。为了解决这一限制,之前的研究提出了一种Token-SZZ方法,该方法在令牌级别进行追踪。该方法通过将每一行分解为单独的令牌,将行级别的Git历史转换为令牌级别的历史。虽然这种方法能够识别出之前SZZ方法遗漏的导致缺陷的提交,但它也会错误地将许多提交识别为导致缺陷的提交(误报),从而降低了性能。为了解决这个问题,我们提出了Majority Voting SZZ(MV-SZZ),它包含两个关键特性:Git历史的N令牌表示法和多数投票机制。N令牌表示法在令牌级别概念的基础上进行了扩展(其中N = 1),改为将N个(N > 1)连续的令牌视为一行。这使得该方法能够捕获更多用于缺陷识别的上下文。多数投票机制识别与更改的令牌最相关的候选提交,并将其选为导致缺陷的提交。这种方法有效地过滤掉了无关的令牌,减少了误报。我们在Developer-IO和Defects4J数据集上将MV-SZZ与六种SZZ方法进行了比较。MV-SZZ在这两个数据集上都取得了最高的F1和F0.5分数(F1:0.587和0.580;F0.5:0.591和0.578)。有趣的是,我们发现由于令牌级别追踪导致的误报增加问题并不是令牌级别方法所独有的;相反,当应用更精确的追踪时,这是SZZ方法中普遍存在的问题。此外,我们证明了我们的多数投票机制对于SZZ的各种变体来说都是一种有效的过滤策略。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号