软件规模和复杂程度的不断提高,为软件质量保障带来了严峻的挑战.软件缺陷定位是一种重要的软件质量保障技术,其中基于频谱的缺陷定位(Spectrum-based Fault Localization,SFL)是应用最为广泛的软件缺陷定位技术,其通过分析语句覆盖信...软件规模和复杂程度的不断提高,为软件质量保障带来了严峻的挑战.软件缺陷定位是一种重要的软件质量保障技术,其中基于频谱的缺陷定位(Spectrum-based Fault Localization,SFL)是应用最为广泛的软件缺陷定位技术,其通过分析语句覆盖信息矩阵计算代码语句的可疑度值,并根据可疑度值定位缺陷所在语句.然而,语句覆盖信息矩阵中存在着严重的数据冗余问题,冗余的数据极大地影响了SFL的缺陷定位性能.以Defects4J数据集中395个程序的语句覆盖信息矩阵为例,在超过一半的语句覆盖信息矩阵中有90%的语句存在与其具有相同覆盖信息的语句.特征选择是常用的数据预处理技术,通过去除冗余和不相关特征来获取原始特征集中有价值的特征子集.因此,我们将语句覆盖信息矩阵作为原始特征集,将冗余覆盖信息约简建模为特征选择问题,提出了一种基于冗余覆盖信息约简的软件缺陷定位方法(Fault Localization based on Redundant coverage information Reduction,FLRR).首先,使用特征选择技术对语句覆盖信息和测试用例执行结果组成的语句覆盖信息矩阵进行约简,得到语句覆盖信息矩阵子集;然后,使用SFL计算语句覆盖信息矩阵子集中语句的可疑度值,并根据可疑度值对语句进行降序排列,以定位缺陷语句.本文使用六种常用的特征选择技术对语句覆盖信息矩阵进行特征选择和约简,以得到语句覆盖信息矩阵子集,并使用四种典型的SFL技术对语句覆盖信息矩阵子集中的语句进行缺陷定位.为评估FLRR的缺陷定位性能,本文使用E_(inspect)@n和MRR(Mean Reciprocal Rank)评价指标在基于Defects4J的数据集上与四种典型的SFL技术进行了对比实验.实验结果表明,FLRR能够有效提升SFL的缺陷定位性能.对于E_(inspect)@n指标,当n=1时,FLRR相比DStar、Ochiai、Barinel和OP2分别多定位到23条、26条、14条和13条缺陷语句,分别增加了69.70%、76.47%、45.16%和38.24%;对于MRR指标,FLRR相比DStar、Ochiai、Barinel和OP2分别提升了20.08%、24.94%、17.45%和19.15%.展开更多
文摘软件规模和复杂程度的不断提高,为软件质量保障带来了严峻的挑战.软件缺陷定位是一种重要的软件质量保障技术,其中基于频谱的缺陷定位(Spectrum-based Fault Localization,SFL)是应用最为广泛的软件缺陷定位技术,其通过分析语句覆盖信息矩阵计算代码语句的可疑度值,并根据可疑度值定位缺陷所在语句.然而,语句覆盖信息矩阵中存在着严重的数据冗余问题,冗余的数据极大地影响了SFL的缺陷定位性能.以Defects4J数据集中395个程序的语句覆盖信息矩阵为例,在超过一半的语句覆盖信息矩阵中有90%的语句存在与其具有相同覆盖信息的语句.特征选择是常用的数据预处理技术,通过去除冗余和不相关特征来获取原始特征集中有价值的特征子集.因此,我们将语句覆盖信息矩阵作为原始特征集,将冗余覆盖信息约简建模为特征选择问题,提出了一种基于冗余覆盖信息约简的软件缺陷定位方法(Fault Localization based on Redundant coverage information Reduction,FLRR).首先,使用特征选择技术对语句覆盖信息和测试用例执行结果组成的语句覆盖信息矩阵进行约简,得到语句覆盖信息矩阵子集;然后,使用SFL计算语句覆盖信息矩阵子集中语句的可疑度值,并根据可疑度值对语句进行降序排列,以定位缺陷语句.本文使用六种常用的特征选择技术对语句覆盖信息矩阵进行特征选择和约简,以得到语句覆盖信息矩阵子集,并使用四种典型的SFL技术对语句覆盖信息矩阵子集中的语句进行缺陷定位.为评估FLRR的缺陷定位性能,本文使用E_(inspect)@n和MRR(Mean Reciprocal Rank)评价指标在基于Defects4J的数据集上与四种典型的SFL技术进行了对比实验.实验结果表明,FLRR能够有效提升SFL的缺陷定位性能.对于E_(inspect)@n指标,当n=1时,FLRR相比DStar、Ochiai、Barinel和OP2分别多定位到23条、26条、14条和13条缺陷语句,分别增加了69.70%、76.47%、45.16%和38.24%;对于MRR指标,FLRR相比DStar、Ochiai、Barinel和OP2分别提升了20.08%、24.94%、17.45%和19.15%.
文摘频域反射法(frequency domain reflectometry,FDR)是目前电缆缺陷定位的有效方法之一。针对传统FDR的缺陷定位效果受窗函数和干扰项影响大的问题,该文提出一种基于子空间分解的电缆缺陷定位方法,该方法不需要选择窗函数,并且滤除了干扰信号的子空间,因此拥有更好的缺陷定位效果。首先,利用传输线理论研究电缆的反射系数谱,证实了反射系数谱可用于定位电缆缺陷。然后,介绍了子空间分解技术、改进的贝叶斯信息准则(Bayesian information criterion,BIC)及基于密度聚类算法的原理,通过估计反射系数谱中各复指数衰减振荡函数的参数,并滤除相关干扰,提出了新的电缆缺陷定位谱图。最后,根据所提方法,对200m仿真电缆模型与500m真实电缆开展缺陷定位。结果表明,该定位谱图可准确地定位电缆中缺陷,并且干扰项较少,较大程度地提高FDR方法对电缆缺陷的定位正确率。