当前位置:主页 > 科技论文 > 软件论文 >

基于突变的高效缺陷定位方法研究

发布时间:2022-02-23 19:14
  随着软件迭代的不断加速,软件的缺陷也随之变得越来越多、越来越复杂。为了保证软件的稳定运行,软件的开发者们需要不断地修复这些缺陷。在修复缺陷时,必须首先定位到缺陷的位置。然而随着缺陷的多样化,往往开发者要花费大量的时间首先理解软件的结构与缺陷的原理,才能够完成缺陷定位的工作。因此开发自动化的缺陷定位技术是非常有必要的。目前的一些研究工作已经提出了自动化的缺陷定位方法,其中比较知名的两类是基于程序频谱与基于突变的缺陷定位技术。这两类技术以带有缺陷的程序和测试用例作为输入,并输出一组排序过的代码位置代表程序中可能出错的地方。这两类技术在一些程序缺陷上取得了不错的效果,但同样也存在一些问题。首先,基于程序频谱的方法仅使用原测试中语句的覆盖信息作为语句可疑度的计算基础,因此无法区分相同执行模式语句。同时,基于突变的方法需要进行大量的程序突变和测试,这将带来很高的时间开销。在现有的两个工作MUSE和Metallaxis中,语句的可疑度仅与该语句上的程序变体相关,因此无法对不能进行突变的语句给出可疑度。为了解决以上问题,本文提出了一种基于突变的高效缺陷定位方法,主要包括以下几个部分:1.本文提出了一... 

【文章来源】:南京大学江苏省211工程院校985工程院校教育部直属院校

【文章页数】:87 页

【学位级别】:硕士

【文章目录】:
摘要
Abstract
第一章 绪论
    1.1 研究背景与动机
    1.2 研究现状
        1.2.1 基于程序频谱
        1.2.2 基于程序突变
        1.2.3 基于机器学习
        1.2.4 基于程序切片
    1.3 本文工作
    1.4 本文的组织结构
第二章 背景知识
    2.1 缺陷定位
        2.1.1 基于程序频谱的方法
        2.1.2 基于程序突变的方法
    2.2 程序切片
        2.2.1 静态切片
        2.2.2 动态切片
    2.3 PIT和JavaSlicer
    2.4 本章小结
第三章 基于突变的缺陷定位方法H2
    3.1 研究动机
    3.2 整体框架
    3.3 动态程序切片
    3.4 变异测试
        3.4.1 突变操作符
        3.4.2 程序突变
        3.4.3 测试与信息收集
    3.5 本章小结
第四章 H2的语句可疑度计算方法
    4.1 启发式规则
    4.2 可疑度计算公式
    4.3 本章小结
第五章 工具实现和实例研究
    5.1 缺陷定位工具实现
    5.2 程序缺陷实例MATH-996
    5.3 本章小结
第六章 实验评估
    6.1 实验对象
    6.2 评估指标
    6.3 实验结果
        6.3.1 动态程序切片
        6.3.2 可疑度计算
        6.3.3 缺陷定位效果
    6.4 本章小结
第七章 论文总结
    7.1 论文主要工作
    7.2 未来工作
致谢
参考文献
简历与科研成果



本文编号:3641190

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3641190.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户d54f2***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com