当前位置:问答库>论文摘要

题目:复杂环境下的软件缺陷定位方法研究

关键词:缺陷定位,程序谱,类别比例,测试谕示,多缺陷

  摘要



基于程序谱的软件缺陷定位方法近些年受到越来越多的关注,其原理简单且定位效率较高,被认为是最有前途的一种缺陷定位方法。然而,程序谱缺陷定位方法本质是一种统计学缺陷定位方法,对测试用例集依赖程度较高,需要获取足够的执行信息,而且在应用过程中还面临着各种各样的复杂环境。本文围绕无test oracle、多缺陷和测试用例集类别不均衡这三个复杂环境问题展开研究,考察这些复杂环境对程序谱缺陷定位方法的影响,最后提出一种应对这些复杂环境的集成缺陷定位方法。
本文的研究内容主要包括以下几个部分:
第一,测试用例集类别不均衡对程序谱缺陷定位方法定位效果影响的系统研究。程序谱缺陷定位方法对测试用例集依赖程度严重,尤其是失败测试用例揭示的缺陷信息,然而测试用例集中失败测试用例数目往往远小于成功测试用例。在第一部分研究内容中,本文选取具有代表性的程序谱缺陷定位算法公式,通过设计单缺陷定位和多缺陷定位实验,研究了测试用例集类别不均衡对程序谱缺陷定位方法定位效果的影响,并在单缺陷假设基础上理论分析了这种影响产生的原因。研究结果表明,测试用例集类别不均衡对程序谱缺陷定位方法定位效果一般会产生损害性影响。此外,在程序谱缺陷定位方法定位多缺陷时,其在第一个查找到的缺陷一般仍具有较高的定位效率。
第二,测试用例集类别不均衡对无oracle缺陷定位效果影响的实验研究。程序谱缺陷定位方法基于test oracle存在的假设,使得其在部分oracle不存在或很难获得的应用中受到限制。在第二部分研究内容中,本文引入变形(metamorphic)测试的思想,研究了无oracle缺陷定位的特性,并继续在测试用例集类别不均衡的基础上,研究了测试用例集类别不均衡对无oracle缺陷定位效果的影响。研究结果表明,测试用例集类别不均衡对无oracle缺陷定位效果一般也会产生损害性影响。此外,有oracle和无oracle程序谱缺陷定位方法在内在实现机理上具有对应的可替换的组成部分。
第三,面向无oracle和多缺陷的集成缺陷定位方法研究。程序谱缺陷定位方法在实际应用中面临着无oracle、多缺陷以及测试用例集类别不均衡等复杂环境,通过前两部分研究内容的探究和总结,得出一些有价值的结论。在第三部分研究内容中,本文从程序实体可疑度排位表着手,继续引入变形测试的思想,构造类别比例均衡的测试用例集,最终提出一种面向无oracle和多缺陷的集成缺陷定位方法。实验结果表明,本文提出的此方法可以较好地应对程序谱缺陷定位方法在应用过程中面临的这三种条件下的复杂环境。