首页> 中文学位 >基于动态符号执行技术的软件性能缺陷发现
【6h】

基于动态符号执行技术的软件性能缺陷发现

代理获取

目录

声明

第一章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 论文的研究内容和结构安排

第二章 动态符号执行技术理论及其在软件性能分析的应用

2.1 动态符号执行原理和过程

2.2 动态符号执行相关技术和工具

2.3 动态符号执行在软件性能分析的应用

2.4 本章小结

第三章 动态符号执行工具CET的设计和实现

3.1 CET的整体框架设计

3.2 CET程序插桩和约束求解

3.3 CET核心模块的设计

3.4 本章小结

第四章 软件性能缺陷自动化发现的设计和实现

4.1 CPU缓存和分枝预测

4.2 软件性能缺陷自动化检测

4.3 PerfDiscover的有效性验证实验

4.4 PerfDiscover与PROFs的对比实验

4.5 本章小结

第五章 全文总结和未来工作展望

5.1 论文工作总结

5.2 未来工作展望

致谢

参考文献

攻硕期间取得的研究成果

展开▼

摘要

随着计算机技术的发展,各种应用软件已经融入到社会生活的各个方面,而软件的规模也越来越大,随之而来的软件性能问题也逐渐引起人们的重视。纵然现在已有众多的软件测试方法和工具来保证软件的质量,但是对于因CPU缓存丢失和分枝预测错误导致的软件性能问题却没有得到很多关注。CPU缓存丢失和分支预测错误会浪费CPU周期,降低CPU执行效率,从而影响软件执行时间。虽然现代计算机架构和编译器优化技术已经相当成熟,但是却不能完全避免该类性能问题的发生。特别是对于软件开发人员来说,开发出完全没有性能问题的软件几乎是不可能的。
  动态符号执行技术近年来得到了很多研究学者的关注,它是将程序输入值用符号值代替,同时符号执行和实际执行被测试程序,在执行过程中收集路径约束,并通过约束求解器求解,自动生成新的测试用例的过程。动态符号执行技术在软件测试、漏洞挖掘等领域都有很好的表现,但是却很少用于软件性能缺陷的分析和挖掘。
  本文在系统研究了动态符号执行技术的基础上,设计并实现了一个动态符号执行工具CET,并从CPU缓存和分枝预测角度,利用CET分析软件性能,提出了一个自动化发现和定位软件性能缺陷的方法PerfDiscover,它将被测试程序的每条路径的性能损失具体到路径中每条语句的性能损失上,然后每次选择当前测试用例集中性能损失分数增加最多的路径执行,在有限时间内,快速定位被测试程序中的最严重的性能缺陷。为了验证该方法的有效性和高效性,本文设计了一系列的验证实验和对比实验,并进行了案例分析,实验结果充分证明了该方法能够更快找到程序中更严重的性能缺陷。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号