With more and more attention paid to software quality, metric-based software defect prediction has become a research hotspot in the field of software engineering. Software defect prediction employs software metrics to construct prediction models, in order to predict defect information of new software modules. The predicted defect information can both reflect the quality of software modules and help to allocate software testing resources. .Currently, there exist some problems in software defect prediction. For example, only a few metrics are efficient for constructing models and the constructed models are much worse than the ideal models. In order to solve these problems, we research on the effectiveness of metrics and model construction algorithms. Firstly, we are aiming at finding new software metrics related to defect prediction, by analyzing the relationship between metrics and defects, in order to provide data which can better distinguish defect-prone modules and defect-free modules. Secondly, we research and provide a goal-driven metric selection method based on the effectiveness and redundancy, in order to select metrics which better fit the application of models. Finally, we research on the model construction algorithms with limited available testing resources. We propose a multi-objective approach to construct software defect prediction models with classification task under the condition of limited available testing resources. We also make some improvements on the previous learning-to-rank approach, in order to construct better software defect prediction models with ranking task. The research of this project will promote the solutions of a series of key problems of software defect prediction, and lay a solid foundation for the application and popularization of defect prediction models in the practical software engineering.
随着软件质量备受关注,基于度量元的软件缺陷预测成为软件工程领域的研究热点,它利用软件模块的各种特征构造模型,预测新模块的缺陷信息。目前软件缺陷预测存在有效度量元较少、构造的模型与理想模型差距较大等问题。为解决这些问题,本课题拟针对度量元的有效性及建模算法进行研究。首先,针对软件缺陷预测有效度量元不足的现状,分析软件模块的各种因素对缺陷的影响,将尚未用于预测但对缺陷影响较大的因素作为新度量元,提供更能区分缺陷的数据。其次,结合模型的应用目的,提出基于有效性及冗余度的目标驱动度量元选择方法。最后,研究可用测试资源有限时的建模算法,提出可用测试资源有限的情况下分类任务缺陷预测的多目标算法,并针对现有缺陷预测排序学习算法的不足提出改进方案,提高预测模型的性能,并给出相应的资源分配策略。本项目的研究将推动解决软件缺陷预测的一系列关键问题,为缺陷预测模型在实际软件工程的应用和推广打下坚实的基础。
基于度量元的软件缺陷预测利用软件模块的度量元信息构造预测模型,用于预测新模块的缺陷信息,这些缺陷信息不但能反映软件模块的质量,还能用于指导测试资源的分配,因此具有较好的应用前景。目前,软件缺陷预测相关的公开数据集有较多的噪音度量元,构造的预测模型与理想模型还有较大差距。因此,本课题针对度量元的有效性及建模算法进行研究。首先,针对排序任务软件缺陷预测度量元分析较为缺乏的现状,分析公开数据集的度量元有效性以及分析度量元对排序任务缺陷预测的影响,并结合模型的应用目的,提出基于有效性及冗余度的目标驱动度量元选择方法;其次,研究可用测试资源有限时的建模算法,提出可用测试资源有限的情况分类任务缺陷预测的多目标算法,并比较分类任务软件缺陷预测的多目标算法与单目标算法;最后,针对现有缺陷预测排序学习算法的不足提出改进方案,提高预测模型的性能。.具体而言,本课题主要完成了以下成果:1)提出一种目标驱动的度量元选择方法,并分析跨版本数据集的度量元有效性,找出较为有效的一些度量元;2)使用效果、代价以及二者的折中作为优化目标,更合理地比较分类任务软件缺陷预测的多目标学习算法和单目标学习算法,从而指导实际情况的算法选择;3)提出使用岭回归和lasso回归方法构造软件缺陷预测回归模型,从而更好地解决软件缺陷预测数据集中的多重共线性问题;4)提出基于排序学习方法的集成算法,从而改进现有软件缺陷预测的排序学习算法,提高预测模型的排序性能;5)提出构造软件缺陷预测模型的多目标学习算法,不但可以得到一组在排序性能、预测精度上各有优势的多样化的预测模型,以供不同的应用场景使用,并且这些模型的复杂度更低。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
监管的非对称性、盈余管理模式选择与证监会执法效率?
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于LASSO-SVMR模型城市生活需水量的预测
基于规则化Boosting算法和度量元选取技术的软件缺陷倾向预测模型
基于软件缺陷预测的软件可信性度量方法研究
代码度量的缺陷预测能力的全面元分析
面向演化的软件缺陷预测方法研究