刘望舒
- 作品数:6 被引量:176H指数:5
- 供职机构:计算机软件新技术国家重点实验室更多>>
- 发文基金:国家重点实验室开放基金国家自然科学基金江苏省高校自然科学研究项目更多>>
- 相关领域:自动化与计算机技术更多>>
- 静态软件缺陷预测方法研究被引量:123
- 2016年
- 静态软件缺陷预测是软件工程数据挖掘领域中的一个研究热点.通过分析软件代码或开发过程,设计出与软件缺陷相关的度量元;随后,通过挖掘软件历史仓库来创建缺陷预测数据集,旨在构建出缺陷预测模型,以预测出被测项目内的潜在缺陷程序模块,最终达到优化测试资源分配和提高软件产品质量的目的.对近些年来国内外学者在该研究领域取得的成果进行了系统的总结.首先,给出了研究框架并识别出了影响缺陷预测性能的3个重要影响因素:度量元的设定、缺陷预测模型的构建方法和缺陷预测数据集的相关问题;接着,依次总结了这3个影响因素的已有研究成果;随后,总结了一类特殊的软件缺陷预测问题(即,基于代码修改的缺陷预测)的已有研究工作;最后,对未来研究可能面临的挑战进行了展望.
- 陈翔顾庆刘望舒刘树龙倪超
- 关键词:软件质量保障软件缺陷预测
- 基于特征迁移和实例迁移的跨项目缺陷预测方法被引量:14
- 2019年
- 在实际软件开发中,需要进行缺陷预测的项目可能是一个新启动项目,或者这个项目的历史训练数据较为稀缺.一种解决方案是利用其他项目(即源项目)已搜集的训练数据来构建模型,并完成对当前项目(即目标项目)的预测.但不同项目的数据集间会存在较大的分布差异性.针对该问题,从特征迁移和实例迁移角度出发,提出了一种两阶段跨项目缺陷预测方法 FeCTrA.具体来说,在特征迁移阶段,该方法借助聚类分析选出源项目与目标项目之间具有高分布相似度的特征;在实例迁移阶段,该方法基于TrAdaBoost方法,借助目标项目中的少量已标注实例,从源项目中选出与这些已标注实例分布相近的实例.为了验证FeCTrA方法的有效性,选择Relink数据集和AEEEM数据集作为评测对象,以F1作为评测指标.首先,FeCTrA方法的预测性能要优于仅考虑特征迁移阶段或实例迁移阶段的单阶段方法;其次,与经典的跨项目缺陷预测方法 TCA+、Peters过滤法、Burak过滤法以及DCPDP法相比,FeCTrA方法的预测性能在Relink数据集上可以分别提升23%、7.2%、9.8%和38.2%,在AEEEM数据集上可以分别提升96.5%、108.5%、103.6%和107.9%;最后,分析了FeCTrA方法内的影响因素对预测性能的影响,从而为有效使用FeCTrA方法提供了指南.
- 倪超陈翔刘望舒顾庆顾庆李娜
- 关键词:软件质量保障软件缺陷预测
- 跨项目软件缺陷预测方法研究综述被引量:44
- 2018年
- 软件缺陷预测首先通过挖掘与分析软件历史仓库,从中抽取程序模块并进行类型标记.随后通过分析软件代码的内在复杂度或开发过程特征,设计出与软件缺陷存在强相关性的度量元,并对这些程序模块进行度量.最后借助特定的机器学习方法基于上述数据构建出缺陷预测模型.因此该方法可以在项目开发的早期阶段,通过预先识别出项目内的可疑缺陷模块,达到优化测试资源分配的目的.但在实际软件开发场景中,需要进行缺陷预测的项目可能是一个新启动项目,或这个项目的历史训练数据比较稀缺.一种简单的解决方案是利用其他项目已经搜集的训练数据来构建缺陷预测模型.但不同项目之间因所处的应用领域、采用的开发流程、使用的编程语言、开发人员经验等并不相同,因此对应数据集间会存在较大的分布差异性并造成该方案的实际性能并不理想,因此如何通过有效迁移源项目的相关知识来为目标项目构建预测模型,吸引了国内外研究人员的关注,并将该问题称为跨项目软件缺陷预测问题.论文针对该问题进行了系统综述.根据预测场景的不同,将已有方法分为3类:基于有监督学习的方法、基于无监督学习的方法和基于半监督学习的方法.其中基于有监督学习的方法主要基于候选源项目集的程序模块来构建模型.这类方法根据源项目与目标项目采用的度量元是否相同又可以细分为同构跨项目缺陷预测方法和异构跨项目缺陷预测方法.针对前者,研究人员主要从度量元取值转换、实例选择和权重设置、特征映射和特征选择、集成学习、类不平衡学习等角度展开研究.而后者更具研究挑战性,研究人员主要基于特征映射和典型相关分析等方法展开研究.基于无监督学习的方法直接尝试对目标项目中的程序模块进行预测.这类方法假设在软件缺陷预测问题中,有缺�
- 陈翔王莉萍顾庆王赞倪超刘望舒王秋萍
- 关键词:软件缺陷预测实证研究
- 一种面向软件缺陷预测的可容忍噪声的特征选择框架被引量:18
- 2018年
- 软件缺陷预测通过挖掘软件历史仓库,构建缺陷预测模型来预测出被测项目内的潜在缺陷程序模块.但在挖掘过程中,对程序模块进行类型标记或软件度量时均可能产生噪声.虽然研究人员对已有特征选择方法的噪声容忍能力进行了分析,但据我们所知,很少有研究人员在软件缺陷预测研究中,针对性的设计出可容忍噪声的新颖特征选择方法.为了解决此问题,我们提出一种可容忍噪声的特征选择框架FECS.具体来说,首先借助聚类分析,将原始特征集划分到指定数目的簇中,随后设计出3种不同的启发式特征选择策略,依次从每一个簇中选出最为典型的特征.在实证研究中,以Eclipse和NASA等实际项目为评测对象.首先借助一系列数据预处理方法来提升数据集质量,随后同时注入类标噪声和特征噪声来模拟噪声数据集.通过与典型的特征选择方法进行比较,验证了FECS框架的有效性,除此之外,通过深入分析噪声注入率、特征选择比例及噪声类型对缺陷预测性能的影响,为更有效的使用FECS提供了指导.
- 刘望舒陈翔顾庆刘树龙陈道蓄
- 关键词:软件缺陷预测聚类分析
- 软件缺陷预测中数据预处理关键技术研究及应用
- 软件开发生命周期里,如果内部潜在缺陷发现的越晚,后期为了修复这些缺陷的开销就越大。但是,若对每个软件模块都进行仔细地测试,势必要倾注过多的人力资源。所以项目经理希望预先识别软件模块中可能出现的缺陷,并将足够的测试资源分配...
- 刘望舒
- 关键词:软件缺陷预测
- 软件缺陷预测中基于聚类分析的特征选择方法被引量:25
- 2016年
- 软件缺陷预测通过挖掘软件历史仓库,构建缺陷预测模型来预测出被测项目内的潜在缺陷程序模块.但有时候搜集到的缺陷预测数据集中含有的冗余特征和无关特征会影响到缺陷预测模型的性能.提出一种基于聚类分析的特征选择方法 FECAR.具体来说,首先基于特征之间的关联性(即FFC),将已有特征进行聚类分析.随后基于特征与类标间的相关性(即FCR),对每个簇中的特征从高到低进行排序并选出指定数量的特征.在实证研究中,借助对称不确定性(symmetric uncertainty)来计算FFC,借助信息增益(information gain)、卡方值(chi-square)或Relief F来计算FCR.以Eclipse和NASA数据集等实际项目为评测对象,重点分析了应用FECAR方法后的缺陷预测模型的性能,FECAR方法选出的特征子集冗余率和比例.结果验证了FECAR方法的有效性.
- 刘望舒陈翔顾庆刘树龙陈道蓄
- 关键词:软件质量保障数据挖掘聚类分析