【摘 要】
:
随着软件迭代的不断加速,软件的缺陷也随之变得越来越多、越来越复杂。为了保证软件的稳定运行,软件的开发者们需要不断地修复这些缺陷。在修复缺陷时,必须首先定位到缺陷的位置。然而随着缺陷的多样化,往往开发者要花费大量的时间首先理解软件的结构与缺陷的原理,才能够完成缺陷定位的工作。因此开发自动化的缺陷定位技术是非常有必要的。目前的一些研究工作已经提出了自动化的缺陷定位方法,其中比较知名的两类是基于程序频谱
论文部分内容阅读
随着软件迭代的不断加速,软件的缺陷也随之变得越来越多、越来越复杂。为了保证软件的稳定运行,软件的开发者们需要不断地修复这些缺陷。在修复缺陷时,必须首先定位到缺陷的位置。然而随着缺陷的多样化,往往开发者要花费大量的时间首先理解软件的结构与缺陷的原理,才能够完成缺陷定位的工作。因此开发自动化的缺陷定位技术是非常有必要的。目前的一些研究工作已经提出了自动化的缺陷定位方法,其中比较知名的两类是基于程序频谱与基于突变的缺陷定位技术。这两类技术以带有缺陷的程序和测试用例作为输入,并输出一组排序过的代码位置代表程序中可能出错的地方。这两类技术在一些程序缺陷上取得了不错的效果,但同样也存在一些问题。首先,基于程序频谱的方法仅使用原测试中语句的覆盖信息作为语句可疑度的计算基础,因此无法区分相同执行模式语句。同时,基于突变的方法需要进行大量的程序突变和测试,这将带来很高的时间开销。在现有的两个工作MUSE和Metallaxis中,语句的可疑度仅与该语句上的程序变体相关,因此无法对不能进行突变的语句给出可疑度。为了解决以上问题,本文提出了一种基于突变的高效缺陷定位方法,主要包括以下几个部分:1.本文提出了一种高效的基于突变的缺陷定位方法,包含两个部分。首先,我们改进了变异测试的过程,通过使用动态程序切片结果进行突变以及收集变异测试执行信息;然后我们设计了新的可疑度计算方法,通过使用动态程序切片和变异测试执行信息,使得定位真实程序缺陷更加高效。2.我们设计并实现了方法对应的工具。通过使用胶水语言Python,结合突变工具PIT和程序动态切片工具JavaSlicer,我们针对Java语言实现了缺陷定位的原型工具。3.为了验证方法的有效性,我们在Defects4J数据库的262个真实程序案例上进行了分析。通过与7个其他的技术的对比表明,我们的方法在真实程序缺陷上能够取得更好的定位效果。
其他文献
本研究以南方某离子型稀土矿为样本,通过对矿区花岗岩节理进行现场调查与统计分析,绘制了花岗岩节理走向玫瑰图、倾向玫瑰图、等密度图和倾角分布直方图,找出了花岗岩节理的
社会的竞争说到底就是人才的竞争,素质教育是培养跨世纪人才的必由之路。当今一些幼儿园或者个别家长,不顾幼儿的个性特点、兴趣爱好,一味追求智力开发,以识字的多少、能计算
随着人类社会进入知识经济时代,人力资源管理水平的高低逐渐成为企业能否获得竞争优势的关键,而薪酬体系则是现代人力资源管理体系的前提和重要组成部分。对于我国的国有企业
以江苏油田铜庄断块地质和目前开发特征为基础,构建了铜庄断块精细地质模型,并进行了精细的油藏数值历史拟合。在动静态模型拟合的基础上,得到了铜庄断块各层的流场强度场,结
无脊椎动物休眠卵能够在沉积物中存活数十年,甚至更长的时间。它们不仅构成了生态的和进化的储存库,还影响着种群、群落、甚至整个生态系统在应对环境变化时的响应速度和方向。休眠卵库的研究集中于温带地区,本文以南海海岸带水域(近岸浅海海域、典型海湾大亚湾和陆地淡水水域)为代表探究了热带和亚热带水域无脊椎动物休眠卵的物种组成和群落结构,借助单卵DNA条形码技术来解决休眠卵鉴定费时费力且成功率低的问题。本文分别
近年来,通过各地的实践,一大批以特种经济品种为主导,以标准化生产、规模化开发、产业化经营为特征的稻田综合种养新模式不断涌现,并得到了当地政府的重视以及种稻农民的积极
不同于开放式基金,封闭式基金的价值具有不同于一般资产的双重认定机制:由供求关系决定的市场价格机制和会计角度上的净资产机制。这就造成了封闭式基金的价格与价值往往不一
位于西昆仑山前塔西南地区的其木干剖面发育连续完整的新近纪地层,总厚1831.3m。从古近系—新近系的微角度不整合接触界面向上依次出现中新统乌恰群的克孜洛依组、安居安组和
本文基于高中数学学科教学的特点,在建构主义的观点和奥苏贝尔的认知学习理论指导下,从培养学生学会学习的数学教学目标出发,阐述了高中数学课堂中实施问题导学模式的意义和
目的探讨功能失调性子宫出血(DUB)育龄期妇女生殖激素水平、子宫内膜基质金属蛋白酶-9(MMP-9)、基质金属蛋白酶抑制剂-1(TIMP-1)的表达变化及其意义。方法选取2012年1月—2015年1月