-
题名面向细粒度源代码变更的缺陷预测方法
被引量:12
- 1
-
-
作者
原子
于莉莉
刘超
-
机构
北京航空航天大学计算机学院
第二炮兵软件测评中心
-
出处
《软件学报》
EI
CSCD
北大核心
2014年第11期2499-2517,共19页
-
基金
国家自然科学基金(90718018)
国家高技术研究发展计划(863)(2007AA010302)
-
文摘
软件在其生命周期中不断地发生变更,以适应需求和环境的变化.为了及时预测每次变更是否引入了缺陷,研究者们提出了面向软件源代码变更的缺陷预测方法.然而现有方法存在以下3点不足:(1)仅实现了较粗粒度(事务级和源文件级变更)的预测;(2)仅采用向量空间模型表征变更,没有充分挖掘蕴藏在软件库中的程序结构、自然语言语义以及历史等信息;(3)仅探讨较短时间范围内的预测,未考虑在长时间软件演化过程中由于新需求或人员重组等外界因素所带来的概念漂移问题.针对现有的不足,提出一种面向源代码变更的缺陷预测方法.该方法将细粒度(语句级)变更作为预测对象,从而有效降低了质量保证成本;采用程序静态分析和自然语言语义主题推断相结合的技术深入挖掘软件库,从变更的上下文、内容、时间以及人员4个方面构建特征集,从而揭示了变更易于引入缺陷的因素;采用特征熵差值矩阵分析了软件演化过程中概念漂移问题的特点,并通过一种伴随概念回顾的动态窗口学习机制实现了长时间的稳定预测.通过6个著名开源软件验证了该方法的有效性.
-
关键词
缺陷预测
软件演化
细粒度变更
概念漂移
成本有效性
-
Keywords
bug prediction
software evolution
fine-grained change
concept drift
cost effectiveness
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-