首页> 外文会议>2018 IEEE/ACM 40th International Conference on Software Engineering >Journal First Are Fix-Inducing Changes a Moving Target?: A Longitudinal Case Study of Just-in-Time Defect Prediction
【24h】

Journal First Are Fix-Inducing Changes a Moving Target?: A Longitudinal Case Study of Just-in-Time Defect Prediction

机译:期刊优先修复引起的变化是移动目标吗?:即时缺陷预测的纵向案例研究

获取原文
获取原文并翻译 | 示例

摘要

Just-In-Time (JIT) models identify fix-inducing code changes. JIT models are trained using techniques that assume that past fix-inducing changes are similar to future ones. However, this assumption may not hold, e.g., as system complexity tends to accrue, expertise may become more important as systems age. In this paper, we study JIT models as systems evolve. Through a longitudinal case study of 37,524 changes from the rapidly evolving Qt and OpenStack systems, we find that fluctuations in the properties of fix-inducing changes can impact the performance and interpretation of JIT models. More specifically: (a) the discriminatory power (AUC) and calibration (Brier) scores of JIT models drop considerably one year after being trained; (b) the role that code change properties (e.g., Size, Experience) play within JIT models fluctuates over time; and (c) those fluctuations yield over- and underestimates of the future impact of code change properties on the likelihood of inducing fixes. To avoid erroneous or misleading predictions, JIT models should be retrained using recently recorded data (within three months). Moreover, quality improvement plans should be informed by JIT models that are trained using six months (or more) of historical data, since they are more resilient to period-specific fluctuations in the importance of code change properties.
机译:即时(JIT)模型可识别引起修复的代码更改。 JIT模型使用的技术进行了训练,这些技术假定过去引起修复的更改与将来发生的更改类似。但是,这种假设可能不成立,例如,随着系统复杂性趋于增加,随着系统的老化,专业知识可能变得更加重要。在本文中,我们研究随着系统的发展而进行的JIT模型。通过对来自迅速发展的Qt和OpenStack系统的37,524个变化的纵向案例研究,我们发现,引起修复的变化的属性波动会影响JIT模型的性能和解释。更具体地说:(a)训练后的一年,JIT模型的鉴别力(AUC)和校准(Brier)分数下降了很多; (b)JIT模型中代码更改属性(例如大小,体验)所起的作用随时间而波动; (c)这些波动会导致代码更改属性对引入修复的可能性的未来影响产生高估和低估。为了避免错误或误导的预测,应使用最近记录的数据(三个月内)重新训练JIT模型。此外,质量改进计划应通过使用六个月(或更长时间)的历史数据进行训练的JIT模型来告知,因为它们对于代码更改属性的重要性在特定时期内的波动更具弹性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号