期刊文章详细信息
文献类型:期刊文章
机构地区:[1]南通大学计算机科学与技术学院,江苏南通226019 [2]南京大学计算机软件新技术国家重点实验室,南京210023 [3]天津大学软件学院,天津300350
基 金:国家自然科学基金(61202006;61202030;61373012;61402244;61602267);南京大学计算机软件新技术国家重点实验室开放课题(KFKT2016B18);江苏省高校自然科学研究项目(15KJB520030;16KJB520038)资助~~
年 份:2018
卷 号:41
期 号:1
起止页码:254-274
语 种:中文
收录情况:BDHX、BDHX2017、CSA、CSA-PROQEUST、CSCD、CSCD2017_2018、EI、IC、JST、MR、RCCSE、SCOPUS、ZGKJHX、核心刊
摘 要:软件缺陷预测首先通过挖掘与分析软件历史仓库,从中抽取程序模块并进行类型标记.随后通过分析软件代码的内在复杂度或开发过程特征,设计出与软件缺陷存在强相关性的度量元,并对这些程序模块进行度量.最后借助特定的机器学习方法基于上述数据构建出缺陷预测模型.因此该方法可以在项目开发的早期阶段,通过预先识别出项目内的可疑缺陷模块,达到优化测试资源分配的目的.但在实际软件开发场景中,需要进行缺陷预测的项目可能是一个新启动项目,或这个项目的历史训练数据比较稀缺.一种简单的解决方案是利用其他项目已经搜集的训练数据来构建缺陷预测模型.但不同项目之间因所处的应用领域、采用的开发流程、使用的编程语言、开发人员经验等并不相同,因此对应数据集间会存在较大的分布差异性并造成该方案的实际性能并不理想,因此如何通过有效迁移源项目的相关知识来为目标项目构建预测模型,吸引了国内外研究人员的关注,并将该问题称为跨项目软件缺陷预测问题.论文针对该问题进行了系统综述.根据预测场景的不同,将已有方法分为3类:基于有监督学习的方法、基于无监督学习的方法和基于半监督学习的方法.其中基于有监督学习的方法主要基于候选源项目集的程序模块来构建模型.这类方法根据源项目与目标项目采用的度量元是否相同又可以细分为同构跨项目缺陷预测方法和异构跨项目缺陷预测方法.针对前者,研究人员主要从度量元取值转换、实例选择和权重设置、特征映射和特征选择、集成学习、类不平衡学习等角度展开研究.而后者更具研究挑战性,研究人员主要基于特征映射和典型相关分析等方法展开研究.基于无监督学习的方法直接尝试对目标项目中的程序模块进行预测.这类方法假设在软件缺陷预测问题中,有缺�
关 键 词:经验软件工程 软件缺陷预测 跨项目软件缺陷预测 迁移学习 实证研究
分 类 号:TP311]
参考文献:
正在载入数据...
二级参考文献:
正在载入数据...
耦合文献:
正在载入数据...
引证文献:
正在载入数据...
二级引证文献:
正在载入数据...
同被引文献:
正在载入数据...