In the field of software engineering, software defect prediction has been regarded as one of the most challenging research problems. For the purpose of solving the problems of insufficient or unavailable training data in within-project defect prediction, cross-project defect prediction which has attracted wide attention from researchers, aims at building a defect prediction model by using the data from other projects. In cross-project defect prediction, the quality of training data is one of the important factors affecting defect prediction results. Most of current research which have focused on instance selection, ignore the importance of software metrics selection and source projects selection. However, it is necessary to study the selection of software metrics and source projects as they are the basis and premise of instance selection. The main research contents include: (1) The selection of software metrics from different sources; (2) Mining the rule of application relationship among the historical software projects; (3) The intelligent selection of applicable source projects for a new project. The main contribution of the project is to build the method systems of software metrics selection and source projects selection for cross-project defect prediction, which enriches the multilevel framework of training data selection, namely from software metrics to source projects and then to instances. The project may help to improve the quality of training data and thus promote further development of cross-project defect prediction research.
软件缺陷预测是软件工程领域中最具挑战性的研究课题之一。针对项目内缺陷预测中训练数据不足或者不易获取的瓶颈,跨项目缺陷预测旨在利用其它项目的数据来构建缺陷预测模型,已经受到了研究人员的广泛关注。训练数据质量是影响跨项目缺陷预测结果的重要因素之一。已有研究大都关注于实例选择,却忽视了软件度量选择和源项目选择的重要性,而后两者是前者的基础和前提,因此研究软件度量选择和源项目选择是有必要的。项目的研究内容包括:(1)多源软件度量的选择;(2)历史软件项目间适用关系规律挖掘;(3)新项目的适用源项目智能选择。项目的主要贡献在于构建了跨项目缺陷预测中的软件度量选择和源项目选择方法体系,丰富了训练数据选择的多层次框架(软件度量→源项目→实例),有助于提高训练数据质量,进而推动跨项目缺陷预测研究的进一步发展。
在软件工程领域,由于项目内缺陷预测训练数据不足,跨项目缺陷预测旨在利用其它项目的数据来构建缺陷预测模型,受到了研究人员的广泛关注。在跨项目缺陷预测中,训练数据的质量是影响跨项目缺陷预测性能的重要因素之一。.本项目包括以下四个研究内容:.(a)研究跨项目缺陷预测中最常用的Jureczko公共数据集,发现了该公共数据集中的数据质量问题并对其进行清洗,最后公开了清洗后的clean版本Jureczko数据集。此外,项目选用跨项目缺陷预测中常用的三种训练数据选择方法验证了上述数据清洗的必要性;.(b)研究评估现有的软件度量在软件缺陷预测中的有效性并挑选出适用于软件缺陷预测的软件度量,通过公共缺陷预测数据集以及项目组成员自己收集的缺陷预测数据集,验证了软件缺陷预测中软件度量选择的重要性、有效性以及差异性;.(c)针对跨项目缺陷预测,提出了一种基于协同过滤的源项目选择方法,通过项目间相似度挖掘、项目间适用性挖掘以及协同过滤三个步骤,为目标项目推荐适用的源项目。最后通过实验验证了跨项目缺陷预测中源项目选择的重要性和必要性,还验证了该源项目选择方法的可行性和有效性;.(d)提出了一种基于集成学习的跨项目缺陷预测方法,该方法基于上述研究中推荐的K个适用源项目,利用集成学习的思想构建预测器对目标项目进行缺陷预测。最后通过实验验证了该跨项目缺陷预测方法能够提升现有一些跨项目缺陷预测方法的性能。.综上所述,本项目研究公共缺陷数据集的数据质量、软件度量选择、源项目选择以及跨项目缺陷预测方法,提高了跨项目缺陷预测研究中的数据质量,推动了跨项目缺陷预测研究的进一步发展。
{{i.achievement_title}}
数据更新时间:2023-05-31
监管的非对称性、盈余管理模式选择与证监会执法效率?
跨社交网络用户对齐技术综述
基于LASSO-SVMR模型城市生活需水量的预测
小跨高比钢板- 混凝土组合连梁抗剪承载力计算方法研究
基于多模态信息特征融合的犯罪预测算法研究
基于集成和迁移学习的跨项目软件缺陷预测方法研究
基于软件缺陷预测的软件可信性度量方法研究
软件生态系统中的跨项目缺陷分析与理解
软件项目成本预测方法研究