北京航空航天大学学报 ›› 2014, Vol. 40 ›› Issue (9): 1231-1238.doi: 10.13700/j.bh.1001-5965.2013.0576

• 论文 • 上一篇    下一篇

引入缺陷的细粒度软件变更识别方法

原子, 于莉莉, 刘超   

  1. 北京航空航天大学 计算机学院, 北京 100191
  • 收稿日期:2013-10-10 出版日期:2014-09-20 发布日期:2014-10-10
  • 作者简介:原子(1983-),女,河南开封人,博士生,yuanzi@sei.buaa.edu.cn.
  • 基金资助:

    国家自然科学基金资助项目(90718018)

Identification method for defect-introducing fine-grained software changes

Yuan Zi, Yu Lili, Liu Chao   

  1. School of Computer Science and Engineering, Beijing University of Aeronautics and Astronautics, Beijing 100191, China
  • Received:2013-10-10 Online:2014-09-20 Published:2014-10-10

摘要:

软件开发过程中,缺陷通过变更引入软件系统。为提高缺陷发现效率,降低人工审查成本,提出一种引入缺陷细粒度变更自动化识别方法。该方法基于机器学习分类思想,将细粒度变更作为实例,从时间、地点、内容、意图以及人员5方面构造特征集;采用程序静态分析与自然语言语义分析相结合的方法挖掘软件历史库,自动化构建细粒度变更实例;使用软件历史中的细粒度变更实例训练分类器,从而识别新的细粒度变更是否引入了缺陷。在实际软件系统上运用成本有效性评估策略验证方法有效性。结果表明相比于文件和事务粒度的引入缺陷变更识别方法,该方法可显著降低人工审查成本。

关键词: 软件工程, 软件开发, 软件缺陷, 细粒度软件变更, 成本有效性

Abstract:

Software defects were introduced into software system by software changes in the software development process. A new method to identify defect-introducing fine-grained changes was proposed to improve the efficiency of defect finding and reduce the cost of manual inspection. This method was based on the idea of machine learning classification. It took the fine-grained change as classification instance and constructed feature set from five dimensions, namely time, context, content, purpose and implementer of the change. It built fine-grained change instances automatically by mining software history repositories with the program static analysis and natural language semantic analysis techniques. It trained a classifier by learning change instances in software history, which could identify whether a new fine-grained change introduced any defects or not. Cost-effectiveness analysis was conducted on real software systems to verify the validity of the proposed method. The results indicate that compared with methods for file and transaction level changes, this method can reduce the manual inspection cost significantly.

Key words: software engineering, software development, software defect, fine-grained software change, cost effectiveness

中图分类号: 


版权所有 © 《北京航空航天大学学报》编辑部
通讯地址:北京市海淀区学院路37号 北京航空航天大学学报编辑部 邮编:100191 E-mail:jbuaa@buaa.edu.cn
本系统由北京玛格泰克科技发展有限公司设计开发