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

面向错误定位的变异模式挖掘和变异算子推荐

发布时间:2023-05-05 22:03
  随着软件产品的日益复杂,软件故障无法避免。人工寻找软件故障会耗费大量时间与精力,且最终能否找出错误还要依赖于程序人员的经验。如果能够自动的进行错误定位,则会大大降低软件调试过程的时间与难度。基于变异分析的错误定位方法与已有的自动错误定位方法相比,拥有较高的定位精度。但由于变异算子的多样性,该方法会产生大量的变异体,变异体执行开销巨大。目前,选择变异是降低变异测试开销的重要方法,已有的选择变异方法通常是依据特定应用背景下的经验固定地选用某些变异算子,虽然能够在一定程度上降低变异测试的成本,但是由于缺少对真实错误修正模式的分析,导致所选变异算子生成的变异体不能有效地代表真实错误,降低了变异测试的有效性,更不利于定位软件错误。针对以上的这些问题,本文主要完成了以下工作:首先,从版本控制系统中挖掘大量的错误文件与对应的修正文件对,并分别为它们生成抽象语法树。然后使用Gum Tree工具比对错误文件语法树与修正文件语法树,获得错误语句及修正错误语句执行的编辑操作。其次,得到变异模式并映射到相应变异算子,构建变异算子-修正模式库。对每一类已知的变异算子,找到所有使用其进行修正的错误实例,进而获取修...

【文章页数】:68 页

【学位级别】:硕士

【文章目录】:
摘要
Abstract
第1章 绪论
    1.1 研究目的与意义
    1.2 国内外研究现状
        1.2.1 错误定位的国内外研究现状
        1.2.2 变异分析的国内外研究现状
    1.3 课题研究的主要内容及章节安排
第2章 版本控制系统中错误修正实例的挖掘
    2.1 引言
    2.2 版本控制系统中挖掘错误修正实例的总体思路
    2.3 错误修正文件的挖掘
    2.4 错误修正信息树的获取
        2.4.1 生成源程序的抽象语法树
        2.4.2 重定义语法树节点
        2.4.3 获取编辑操作
        2.4.4 整合错误修正信息树
        2.4.5 时间性能分析
    2.5 错误语句Token序列的提取
    2.6 本章小结
第3章 错误修正模式库的构建和新变异算子的挖掘
    3.1 引言
    3.2 错误修正模式库的构建的总体思路
    3.3 错误修正信息库的构建
        3.3.1 词向量表示
        3.3.2 句向量表示
    3.4 变异算子-修正模式库的构建
        3.4.1 变异算子的基本概念
        3.4.2 变异模式的挖掘过程
        3.4.3 变异算子-修正模式库结果
    3.5 基于频繁序列挖掘的新变异算子发现
        3.5.1 频繁序列挖掘算法prefix Span
        3.5.2 新变异算子发现流程
        3.5.3 新变异算子的发现结果
    3.6 本章小结
第4章 面向错误定位的变异算子推荐方法
    4.1 引言
    4.2 面向错误定位的变异算子推荐的总体思路
    4.3 目标语句的获取
    4.4 变异算子的推荐
    4.5 测试用例的优选
    4.6 语句可疑度的计算
        4.6.1 基于变异分析的错误定位的总体思路
        4.6.2 语句可疑度的计算公式
    4.7 本章小结
第5章 面向错误定位的变异算子推荐有效性验证
    5.1 实验环境
    5.2 Defects4j数据集相关信息
        5.2.1 数据集介绍
        5.2.2 常用操作命令
    5.3 变异算子推荐有效性验证
        5.3.1 实验数据
        5.3.2 评价指标
        5.3.3 实验结果
    5.4 面向错误定位的变异算子推荐有效性验证
        5.4.1 实验数据
        5.4.2 评价指标
        5.4.3 实验结果
    5.5 本章小结
结论
参考文献
致谢



本文编号:3808445

资料下载
论文发表

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


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

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