首页> 中文学位 >面向嵌入式软件缺陷检测的动态测试用例生成
【6h】

面向嵌入式软件缺陷检测的动态测试用例生成

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

第1章 绪论

1.1研究背景

1.2研究意义

1.3国内外研究现状

1.4研究内容

1.5论文章节安排

第2章 符号化执行和中间语言

2.1 Fuzzing缺陷检测技术

2.2符号化执行

2.3符号化执行技术分类

2.4分析方法对比选择

2.5动态二进制插装技术

2.6本章小结

第3章 逆向分析污点数据传播

3.1程序数据分类

3.2污点数据概述

3.3逆向回溯分析

3.4本章小结

第4章 基于敏感区域的路径遍历

4.1基于动态分析的路径遍历

4.2 基于敏感区域的路径

4.3 路径选择

4.4 路径遍历优化处理

4.5 STP求解器介绍

4.6本章小结

第5章 原型系统的设计与实现

5.1 总功能要求

5.2 原型系统工作原理

5.3 Valgrind插件模块

5.4 中间转换模块

5.5 STP求解模块

5.6实验测试与结果分析

5.7 本章小节

第6章 总结与展望

6.1 论文工作总结

6.2 工作展望

致谢

参考文献

附录

展开▼

摘要

软件漏洞是软件在设计实现时由于软件功能自身的复杂性和抽象性,导致在具体实现时由于考虑不周全所引起的缺陷。软件漏洞所造成的危害严重,开发人员需要尽最大可能在软件发布之前修复软件中存在的安全隐患,软件测试一直以来都是软件安全领域的研究热点,而用于软件测试的测试用例对于发现软件中存在的缺陷起着至关重要的作用,研究测试用例的自动生成技术不仅能降低测试人员繁重的工作,而且能有效减少软件公司在软件测试方面的测试成本,可以说是一个极具研究价值的课题。
  测试用例生成技术的典型代表Fuzzing测试技术,具有生成用例速度快,应用广泛的特点,但由于Fuzzing测试技术本身缺乏对程序的理解,生成测试用例的过程具有很大的随机性,导致生成的测试用例难以保证测试效率。针对以上问题本文所做工作包括以下四方面:
  (1)研究Valgrind中间语言和插装过程
  对中间语言的不同定义和表现形式进行了介绍,对程序的插装原理和插装时机进行了分析,通过插装辅助代码收集程序中的分支条件。
  (2)研究污点数据流
  对污点数据的识别,传播形式进行了分析,在污点数据分析的基础上介绍了正向分析法,提出比正向分析效率更高的逆向分析,根据逆向分析的思想提出了函数依赖关系,由依赖关系生成函数依赖矩阵,通过依赖矩阵确定引起异常的函数调用初始点。
  (3)研究路径遍历
  通过污点数据分析确定敏感区域,提出基于敏感区域覆盖的路径遍历,并对实现思想进行了介绍,并针对路径遍历技术中存在的一些路径问题进行了处理。有效降低了路径爆炸的可能性。
  (4)设计实现了原型系统
  对原型系统中的测试用例生成模块进行了详细讲解,并设计了若干测试程序对原型系统进行测试,通过分析实验数据论证系统的有效性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号