文件级工作量感知的软件缺陷预测研究与应用
发布时间:2020-06-13 21:43
【摘要】:随着软件技术的不断发展,软件系统与人类生产生活结合越来越紧密,软件系统的规模也越来越大。软件缺陷预测技术可以帮助测试人员快速发现软件系统中可能存在的缺陷。在软件开发的早期阶段就发现并修复软件系统中的缺陷可以减少整个软件项目的开发成本。如今的软件系统规模越来越大,测试人员对可能包含缺陷的源代码文件逐一进行检查,是一项工作量十分庞大的工作。而且,对于一些预测精度不高的软件缺陷预测系统,测试人员可能检查了很多源代码文件也没有发现真正的缺陷,这将打击测试人员的工作积极性,降低工作效率。与传统软件缺陷预测方法不同的是,工作量感知的软件缺陷预测方法只需要检查少量的源代码文件就能发现系统中的大部分缺陷。为了尽可能减少测试人员的工作量,本文提出一种适用于文件级软件缺陷预测的工作量感知的缺陷排序算法。针对引入工作量感知概念后,传统缺陷预测模型精度降低的问题,本文结合ManualUP和逻辑回归算法,提出基于ManualUP和逻辑回归相结合的有监督缺陷预测算法。在工作量感知的软件缺陷预测中,提高软件缺陷预测模型的预测精度,并通过实验验证了该算法的有效性。最后基于该算法设计了一个工作量感知的软件缺陷预测系统。本文的主要工作如下:(1)介绍了与本文研究内容相关的背景知识、研究意义与研究现状,针对现有缺陷预测方法在工作量感知的条件下精度不高的问题提出了解决办法,并对本文的研究目的以及相关技术进行了描述和分析。(2)在文件级的缺陷预测中,提出了工作量感知的软件缺陷排序算法。该算法利用软件特征度量元建立简单的无监督模型,只需要检查少量源代码文件就能发现软件系统中大部分缺陷,降低测试人员的工作量。(3)提出了基于ManualUP和逻辑回归相结合的有监督缺陷预测算法。针对传统软件缺陷预测算法在工作量感知的缺陷预测中精度不高的问题,将ManualUP与逻辑回归算法结合,提升了预测精度,同时降低了测试人员的工作量。(4)基于ManualUP和逻辑回归相结合的有监督缺陷预测算法,设计了工作量感知的软件缺陷预测原型系统。介绍了系统需求,并设计和实现了该原型系统。
【图文】:
回归回归是一种应用十分广泛的机器学习分类器,当面对软件缺陷问题时,建立代价函数并求解验证所得模型的性能。逻辑回归,线性回归是对有连续值得结果进行预测的方法,它通过设置分类问题。然而,实际的样本包含大量的噪音,如果单纯的使阈值的方式就很难得到一个性能良好的分类器。回归利用了线性回归的预测结果,如果预测结果是一个连续值又无法确定,那么就利用密度函数将这个值映射到 0 到 1 的公式 2.4 所示:( )/( )/ 2( )(1 )xxef xe 示位置,γ 表示曲线的形状。一般情况下,取 μ=0,γ=1,,可d 曲线如图 2.1 所示:
图 3.1 基于代码行数的 Alberg 图Figure 3.1 Alberg diagram based on lines of code.图中的横坐标表示待检查的源代码文件中代码行数的累计百分比,纵坐标被检查源代码文件中真实缺陷个数的累计百分比。图中有三条曲线,分别表测模型 m,理想模型 optimal 以及最差模型 worst。理想模型是按照所有源代件实际的缺陷密度递减顺序排列。Area(optimal)表示最优曲线与横坐标之间积。预测模型是按照所有源代码文件预期的缺陷可能性大小降序排序。Area示预测模型曲线与横坐标之间的面积。最差模型是按照源代码文件的缺陷密序排列。Area(worst)表示最差模型曲线与横坐标之间的面积。 ( )optP m 的计算如下:( ) ( )( ) 1( ) ( )optArea optimal Area mP mArea optimal Area worst (( )optP m 的值越大就表明该软件缺陷预测模型的预测结果与理想模型的预测越相近,反之则越最差模型的预测结果越相近。
【学位授予单位】:重庆大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.53
本文编号:2711784
【图文】:
回归回归是一种应用十分广泛的机器学习分类器,当面对软件缺陷问题时,建立代价函数并求解验证所得模型的性能。逻辑回归,线性回归是对有连续值得结果进行预测的方法,它通过设置分类问题。然而,实际的样本包含大量的噪音,如果单纯的使阈值的方式就很难得到一个性能良好的分类器。回归利用了线性回归的预测结果,如果预测结果是一个连续值又无法确定,那么就利用密度函数将这个值映射到 0 到 1 的公式 2.4 所示:( )/( )/ 2( )(1 )xxef xe 示位置,γ 表示曲线的形状。一般情况下,取 μ=0,γ=1,,可d 曲线如图 2.1 所示:
图 3.1 基于代码行数的 Alberg 图Figure 3.1 Alberg diagram based on lines of code.图中的横坐标表示待检查的源代码文件中代码行数的累计百分比,纵坐标被检查源代码文件中真实缺陷个数的累计百分比。图中有三条曲线,分别表测模型 m,理想模型 optimal 以及最差模型 worst。理想模型是按照所有源代件实际的缺陷密度递减顺序排列。Area(optimal)表示最优曲线与横坐标之间积。预测模型是按照所有源代码文件预期的缺陷可能性大小降序排序。Area示预测模型曲线与横坐标之间的面积。最差模型是按照源代码文件的缺陷密序排列。Area(worst)表示最差模型曲线与横坐标之间的面积。 ( )optP m 的计算如下:( ) ( )( ) 1( ) ( )optArea optimal Area mP mArea optimal Area worst (( )optP m 的值越大就表明该软件缺陷预测模型的预测结果与理想模型的预测越相近,反之则越最差模型的预测结果越相近。
【学位授予单位】:重庆大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.53
【参考文献】
相关期刊论文 前1条
1 王青;伍书剑;李明树;;软件缺陷预测技术[J];软件学报;2008年07期
相关博士学位论文 前1条
1 马樱;基于机器学习的软件缺陷预测技术研究[D];电子科技大学;2012年
本文编号:2711784
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2711784.html