跨项目软件缺陷预测方法研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:chamlea
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷预测技术已成为软件工程领域中的热点研究问题,该技术通过挖掘软件历史数据,抽取与软件缺陷相关的指标数据,构建有效的缺陷预测模型,并对新的软件模块进行有无缺陷的分类,从而有效地分配有限的测试资源。通常,构建性能优越的缺陷预测模型需要足够多的历史标注数据。但是现实中收集并标注足够多的训练数据相当困难:一方面,对于新开发项目,通常仅含有少量历史标注数据;另一方面,标记数据需要耗费大量的人力和物力。因此,跨项目缺陷预测技术应运而生,该技术使用其他项目(即源项目)的历史数据来构建一个有效的缺陷预测模型,并预测当前项目(即目标项目)中的软件模块是否含有缺陷。国内外研究人员针对跨项目缺陷预测提出了多种解决方法,但是跨项目软件缺陷中仍然存在一些问题亟待解决。具体而言,(1)在跨项目软件缺陷预测中,源项目数据和目标项目数据来自不同的分布,分布差异导致在源项目上构建的缺陷预测模型并不一定适用于目标项目。(2)跨项目软件缺陷预测假设源项目中存在足够多的标记数据,而目标项目没有足够多的标记数据。但实际应用中,可能既没有足够多的目标项目数据,也没有足够多的源项目数据。(3)在现有的研究工作中,研究者更多关注如何提高缺陷预测的性能,而很少关注跨项目软件缺陷预测模型在使用过程中对软件开发人员产生的影响。针对上述三个关键问题,本文提出了三种有效的解决方案。具体工作如下:(1)针对跨项目软件缺陷预测中源项目数据和目标项目数据之间存在分布差异的问题,提出了基于聚类的特征选择方法(FeSCH)。该方法使用基于密度峰的聚类技术,从源项目和目标项目中筛选出分布相似的特征作为最终构建模型的特征数据,有效地缩小了源项目数据和目标项目数据之间的分布差异,提高了模型在目标项目上的适用性。具体而言,FeSCH包含两个阶段:特征聚类阶段和特征选择阶段。在特征聚类阶段,FeSCH使用基于密度峰的流型聚类技术将原始特征划分到多个簇中。在特征选择阶段,FeSCH使用特定的排序策略,从每个簇中等比例地选择在源项目和目标项目上具有相似分布的特征。FeSCH方法中设计了三种启发式的排序策略:特征自身密度,特征分布相似性和特征与类标相关性。为了验证FeSCH方法的有效性,基于广泛使用的开源软件项目与基准方法进行了比较,实验结果证明了 FeSCH方法能有效地缩小源项目和目标项目之间的分布差异,并提高缺陷预测的性能。(2)针对源项目和目标项目都没有足够多的标记数据问题,提出了基于多任务学习的跨项目缺陷预测方法(MASK)。该方法使用多任务学习技术,从源项目和目标项目中抽取项目之间的相关信息(即共性信息),并结合自身信息(即个性信息),在一定程度上等价于增加了所有项目自身的训练数据,并达到了共同学习的目的,从而将其他相关项目中有用的信息应用到自身模型的构建中,完成跨项目缺陷预测。具体而言,MASK包含两个阶段:差分演化阶段和多任务学习阶段。在差分演化阶段,MASK旨在找到源项目和目标项目之间共性信息和个性信息的权重。在多任务学习阶段,MASK为源项目和目标项目同时构建多个预测模型。为了验证MASK方法的有效性,基于广泛使用的软件项目与基准方法进行了比较,实验结果证明了 MASK方法能有效地抽取多个项目的共性信息,并充分利用自身的个性信息构建预测模型,提高缺陷预测的性能。(3)针对跨项目软件缺陷预测中如何衡量缺陷预测模型对开发人员产生的影响问题,提出了一整套代价敏感的缺陷预测性能指标,并提出代价敏感的跨项目软件缺陷预测方法(EASC)。该方法能够同时考虑代价敏感的指标和代价不敏感的指标,并在不同场景下选择合适的策略用于缺陷预测。具体而言,在代价不敏感的情况下,优先检查代码规模较大的软件模块。在代价敏感的情况下,优先检查缺陷倾向性与代码规模之间比例较大的软件模块。为了验EASC方法的有效性,基于广泛使用的软件项目与基准方法进行了比较,实验结果证明了EASC方法在代价敏感和代价不敏感的情况下都能取得较好的性能。因此,建议未来的研究工作在开发新的跨项目缺陷预测方法时,将EASC方法作为基准方法进行比较。
其他文献
铁性(铁电、铁磁、铁弹等)材料是一类具有诸多优良性能的功能材料,它在传感、驱动、存储以及人工智能等高技术领域有着极其广泛的应用。其中典型的铁电材料:掺镧钛酸铋(Bi3.25La0.75Ti3O12,BLT)和锆钛酸铅(PbZr0.53Ti0.47O3,PZT),因其具有较大的剩余极化而在铁电存储领域一直受到科研工作者的关注;典型的多铁性材料:铁酸铋(BiFeO3,BFO)能够在室温以上同时表现出铁
冷链物流连接田间地头、百姓餐桌,是重要的民生领域。12月13日,国家发改委就日前公布的《"十四五"冷链物流发展规划》(简称《规划》)举行发布会。国家发展改革委经济贸易司副司长张江波介绍,《规划》对"十四五"时期冷链物流发展作出全面部署,是推动当前和今后一个时期冷链物流高质量发展的顶层设计和系统指引。促进消费,改善民生为充分发挥冷链物流对促进消费、
期刊
目的探讨贝复舒凝胶联合典必殊眼膏对泪囊鼻腔吻合口愈合的疗效。方法收集90例单眼慢性泪囊炎病例,随机分成贝复舒组、典必殊组和联合组,每组30例。所有患者均由同一名经验丰富的眼眶外科医师在鼻内镜下操作完成泪囊鼻腔吻合术。贝复舒组在吻合口及周围贴敷浸有贝复舒凝胶的明胶海绵;典必殊组在吻合口及周围贴敷浸有典必殊眼膏的明胶海绵;联合组在吻合口及周围贴敷浸有2种药物的明胶海绵。术后1个月于鼻内镜下观察各组患者
反照率表示地面对太阳短波辐射的反射能力,对大气和地表之间的能量分配起着重要作用,是地面能量收支平衡的一个重要参数。近几十年来北极海冰发生了显著的变化,主要表现在海冰覆盖面积的减少和海冰厚度的降低,北极开阔水面增加。由于海冰的反照率比海水反照率大得多,因此海冰减少后海洋会吸收更多的太阳辐射能量,这些能量一部分会用来融化海冰,使得海冰进一步减少,这就是海冰反照率回馈机制。海冰和反照率的变化会对全球气候
广域多点遥感技术在灾害监测与定位领域中发挥着重要作用。在光域里实现的微波光子传感系统具有大带宽、高速率、抗干扰和低功率损耗等其他传感技术所不具备的诸多优点,基本原理是将传感信息通过光信号形式转换成微波信号,能够提高识别速度和精度,更稳定、更易控制,具有良好的可重复测量特性。本文基于均匀光纤布拉格光栅(UFBG)建立的光电振荡器(OEO),提出了几种新型的准分布式光纤传感器阵列和光纤传感解复用技术。
密集纳米团簇渗流网络的导电能力对团簇面间距的变化高度敏感这一特性,可被用于构造多种传感器件。若采用柔性材料作为基底,纳米团簇渗流网络可以被用于制造新型的柔性力学传感器。由于在纳米团簇渗流网络中,电子输运同时还依赖于电子内能、隧道结的介电常数等,其电导对环境温度、湿度的变化亦会具有一定的响应。因此,基于密集纳米团簇渗流网络还能够获得多功能的柔性传感器件。随着智能终端的普及,可穿戴电子设备呈现出巨大的
相位光时域反射仪(Φ-OTDR)以其高灵敏度特性在分布式监测领域得到了广泛的关注。近十年来,越来越多的研究者投入到如何利用相位光时域反射仪的相位信息检测外界扰动事件的研究中。相位光时域反射仪的相位信息通常包含在具有不同干涉图样的散射信号中。为了获得相位,先后出现了参考光相干探测、双脉冲干涉、干涉仪干涉等多种干涉检测方案。与此同时,也出现了三端口解调、希尔伯特变换和正交解调等多种解调方式。这些研究极
低维半导体材料因具有独特的结构与物理性质,使其在光电探测器、激光二极管、气体传感、场效应晶体管(FET)、太阳能电池等领域都有着广泛的应用。本文通过基于密度泛函理论(DFT)的第一性原理计算,研究了磷及磷化物(蓝磷、P2C2)和硒化物(Sn Se、Ga2Se Te)低维半导体材料的电学和光学特性,并依据它们的优势探索了其潜在的器件应用及器件输运特性。此外,还对薄膜缺陷结构的电学性质进行了理论研究和
深度学习,特别是卷积神经网络,已经成为了计算机视觉很多领域的最佳解决方案。深度神经网络模型的主要缺点在于其庞大的计算量与参数数量,这在一定程度上限制了深度学习在一些资源受限设备(例如手机或嵌入式设备)上的应用。所谓资源受限,指的是某一特定任务必须在有限资源供应的情况下完成计算,包括但不限于计算时间、存储开销、能源消耗等。这些小型设备对于模型的计算速度和体积都有着严格的要求。因此,如何加快深度模型的
传统的机器学习通常假设学习环境的数据特征是固定不变的,而在实际的应用场景下,学习环境的数据特征很有可能会随着学习环境的变化而改变。传统的机器学习方法并不能有效地应对这一情况。本文关注特征变化环境的机器学习,提出和分析了若干种相关场景,并从算法、理论和实验等多个层面来研究并解决这些场景下面临的问题。1.特征同步变化环境的在线学习方法。本文提出并分析了特征同步变化下的流数据学习问题。针对这一问题,本文