软件缺陷预测算法研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:kirawu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷预测是软件工程领域的一个热点研究方向。它通过分析软件度量值利用机器学习方法预测软件中是否含有缺陷。进而有助于帮助软件开发人员提高软件质量。  软件缺陷预测通常是一个分类问题,它的性能依赖于软件度量数据和所使用的分类器。目前已有大量研究应用各种分类器和数据预处理技术来试图提升缺陷预测的准确性。然而,却缺少关于“各种分类器的缺陷预测有效性如何?”,“哪种数据预处理技术有助于提升软件缺陷预测的有效性?”的深入分析。因此,有必要开展关于这些研究对比的实证分析。  在软件缺陷预测中,需要重点关注的是含有缺陷的软件模块,然而实际上,缺陷模块通常比非缺陷模块少得多。这导致了类不平衡问题,妨碍了缺陷预测的准确度。因此,类不平衡问题是缺陷预测中亟需解决的一个关键问题。  本文提出了一个软件缺陷预测实验分析模型,并基于 NASA MDP数据集,开展一系列关于软件缺陷预测的实证分析。提出了五个研究问题,并且进行了详细的实验分析。  首先,比较了经典的分类器的缺陷预测性能,例如,贝叶斯网络、朴素贝叶斯、Logistic函数、simple logistics、SMO、IBK、adaBostM1、Bagging、通过回归分析分类、决策表、J48、随机森林和随机树。然后使用数据预处理技术,例如 propositionalization,特征选择和主成分分析,研究其是否有助于提高缺陷预测的性能。接下来尝试应用SMOTE来解决类不平衡问题,并分析比较了在不同参数配置条件下SMOTE的性能。研究结果表明,对于缺陷预测实验数据集,在不应用任何预处理技术的情况下,J48、IBk、贝叶斯网络和随机树这些分类器要优于其他分类器,通过回归分析分类的性能最差。研究结果还表明,对于缺陷预测实验数据集,propositionalization要优于其他两种数据预处理技术。  除了实证分析外,本文还研究改进了SMOTE方法。提出了SMOTE ASMO算法来克服SMOTE方法的缺陷。SMOTE算法主要有两个缺陷:首先,对于每个原少数类样本产生相同数量的合成数据样本,而没有考虑其邻近样本的分布特点,这就使得类间发生重复的可能性加大,导致过分泛化问题。其次,样本是预先确定的,缺少再平衡的灵活性。SMOTE ASMO算法通过使用数据稀疏性测试来检查填充的空间、并对少数类进行聚类、采用二级(而不是一级)样本泛化,来解决过分泛化问题。通过多重试验/反馈增强再平衡的灵活性。实验结果表明,应用 ASMO算法后,通过回归分析分类、Logistic函数、IBk、随机森林的TP rate和AUC指标比其他分类器而言提升更显著。
其他文献
铁路物流资源包括包装加工资源、仓储资源、装卸资源、配送资源等,具有种类多、数量大、相对分散的特点,不利于集中管理。现阶段,物流企业管理资源的方式相对落后,主要表现在以纸
Linux操作系统由于其开源和免费的特点受到大家的青睐,同样其遭受的攻击也层出不穷,木马是其中威胁较大的一个,木马侵入电脑后首先并不进行破坏性的操作,但是在内部监控计算
综合调度是研究如何将复杂单件产品的加工和装配一同高效地并行处理的调度问题,具有理论价值和实际意义。针对一般综合调度中,采用设备空闲事件驱动算法,可调度工序不唯一时,驱动空闲设备选择父节点路径长的工序进行调度,没有考虑同设备上工序串行加工形成较长实质路径,延长产品加工时间,影响调度结果的问题,提出了基于实质短路径的设备驱动综合调度算法。该算法采取在设备驱动时刻驱动空闲设备动态地调度实质短路径上的工序
创新设计是企业能够不断发展不断进步的动力。创新原理和创新知识可以启发设计人员产生全新式的设计思路。效应表达的是科学原理,利用本体对科学效应进行表达更加规范且实现了
基因表达式编程(GEP)算法是一种融合了遗传算法和遗传编程的新型演化计算方法,目前己被广泛应用于函数发现、数据挖掘等领域。多表达式编程(MEP)算法是一种一条染色体内包含
为了让分布在Internet上的Web服务,不仅能让人们阅读,还能便于计算机有效地利用,有些学者提出了语义Web服务。近年来,伴随着网格计算和云计算技术,在新一代大规模互联网应用
同名是一个人名对应多个真实个体的现象。同名区分就是要将这些混合在一起的真实个体区分开。本文以解决学术资源管理系统中的同名问题为背景,对文献管理中的同名区分问题进
进入21世纪以来,每个研究领域都在快速发展,学术论文数量急剧增加。同时,研究社区也不断壮大。在这种情况下,研究人员去阅读每一篇相关研究领域的学术文章也越来越不切实际。
随着科技的发展,个性化信息检索(Personalize Information Retrieval)作为人工智能的分支得到了快速的发展。伴随着Internet技术的发展和普及,越来越多的用户开始利用搜索引擎
当今网络交流成为人们交流的主要方式之一。可是人们在网络中频繁地交流却也泄露了自己的隐私。因此,如何保护人们的私有信息,成为人们急需要解决的基本问题。为了解决保护私