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

基于符号执行的并发程序测试框架研究

发布时间:2021-02-17 02:22
  符号执行技术是一种被应用在串行和并发程序上的系统测试技术。但是在并发环境下传统符号执行会产生状态空间爆炸问题,测试效率会受到很大影响。引发这种状态空间爆炸问题的主要原因是传统符号执行尝试搜索所有可能的线程交织路径,而路径数量会随着并发程序中线程数量的增长呈指数性增长。因此如何改进传统符号执行算法又不影响测试的准确性是很具有意义的研究点。在本文的研究中,我们提出了一个名为SYMAC的并发程序测试框架,框架的核心思想是将传统的符号执行算法进行改进,结合我们定义的分层并发覆盖准则,来改善传统符号执行算法会出现的状态空间爆炸的问题,并且我们还以最弱前置条件为基础,提出了基于预测摘要的剪枝框架,通过这个框架来在搜索路径的过程中提前终止不必要的搜索过程,来达到进一步提升测试效率的目的。在我们的工作中,首先定义了一个访存冲突前驱集合的概念,然后以访存冲突前驱集合为基础,类比串行覆盖准则思想去构建了一套分层并发覆盖准则。通过分层覆盖准则,我们对原始并行符号执行算法进行改进,达到有选择性地搜索线程交织路径的目的。为了进一步的缩减状态空间大小,我们提出一个基于预测摘要的剪枝框架。该剪枝技术在已执行过但未违... 

【文章来源】:大连理工大学辽宁省 211工程院校 985工程院校 教育部直属院校

【文章页数】:64 页

【学位级别】:硕士

【文章目录】:
摘要
Abstract
1 绪论
    1.1 课题研究背景和意义
    1.2 国内外研究现状
        1.2.1 符号执行技术研究现状
        1.2.2 并发覆盖准则研究现状
    1.3 课题主要研究内容
    1.4 论文结构
2 相关研究技术介绍
    2.1 符号执行技术
        2.1.1 传统符号执行
        2.1.2 动态符号执行
        2.1.3 选择符号执行
        2.1.4 符号执行和软件测试面临的问题
    2.2 软件测试技术
    2.3 静态数据竞争分析理论和工具
    2.4 并发覆盖准则
    2.5 最弱前置条件
    2.6 本章小结
3 分层并发覆盖准则的构建
    3.1 访存冲突前驱集合的定义
    3.2 定义分层覆盖准则
    3.3 访存冲突前驱集合的提取
        3.3.1 数据竞争静态检测
        3.3.2 数据竞争条件判定
4 并发程序符号执行算法的改进
    4.1 原始并行符号执行算法
    4.2 改进并行符号执行算法
    4.3 基于预测摘要的修剪框架
        4.3.1 最弱前置条件
        4.3.2 分支承接点(b-pp node)预测摘要计算
        4.3.3 交织承接点(i-pp node)预测摘要计算
        4.3.4 基于预测摘要的剪枝框架
    4.4 基于摘要剪枝框架与DPOR结合
    4.5 基于摘要剪枝框架的优化方法
        4.5.1 近似值优化
        4.5.2 摘要简化
5 实验设计与分析
    5.1 研究问题
    5.2 分层并发覆盖准则有效性验证
    5.3 改进符号执行算法有效性验证
        5.3.1 实验环境设计
        5.3.2 实验结果及分析
结论
参考文献
攻读硕士学位期间发表学术论文情况
致谢


【参考文献】:
期刊论文
[1]并发缺陷暴露、检测与规避研究综述[J]. 苏小红,禹振,王甜甜,马培军.  计算机学报. 2015(11)

硕士论文
[1]软件测试案例自动生成系统的研究与优化[D]. 牛晓强.电子科技大学 2015



本文编号:3037274

资料下载
论文发表

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


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

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