基于符号化执行的插桩技术研究与实现

基于符号化执行的插桩技术研究与实现

ID:35068829

大小:4.99 MB

页数:78页

时间:2019-03-17

基于符号化执行的插桩技术研究与实现_第1页
基于符号化执行的插桩技术研究与实现_第2页
基于符号化执行的插桩技术研究与实现_第3页
基于符号化执行的插桩技术研究与实现_第4页
基于符号化执行的插桩技术研究与实现_第5页
资源描述:

《基于符号化执行的插桩技术研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、誦i4击种成*著ONCsc£NCFCHINAIuniversII6ANDTECHNOLOOYOityOFELECTR硕±学位论文IMASTERTHESIS..時識V,::,/T^Y:;\:.f:.—占‘‘一X'■‘'"'‘巧悼'间晒:'巧巧巧!I论文题目基于符号化执巧的插祕技术妍究与实现学科专业计算桃软件与理论学号201321060211作者姓名徐栋指淨教师杨圃武教授??■.L;幽撫圓圓圍誦麵i

2、i独创性声明本人芦明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的硏究成果。据巧所知,除了文中特别加标巧和致谢的地义夕h论文中不包含其他人已经发表或撰S过的研究成果,也不包含为获得电子科技大学或K它教育机构的学位或证书而使用过的材料。与我--同!:作的同志对本研究所做的任何贡献均己在论文中作丫明确的说明并衷示谢意。;、期:斗巧^口^作巧签名:絲持一鬥^论义使用授校本学位论义作者完全了解电子科技大学巧关保留、使用学位论文印件和磁盘,的规定,有权保留并向国家有关部n或机构送

3、交论文的复允许论文被查阅和借阅。本人授权电子科技大学可W将学位论义的全、印或部或部分内容编入有关数据库进行检索,可抖采用影印缩巧描。等编学位论文隻乎段保巧、汇制)规定(论文密遵守此密的在解后应保学位 ̄ ̄良签名:^各签:巧师名結、者作媒;年1期』/户(5分类号密级注1UDC学位论文基于符号化执行的插桩技术研究与实现(题名和副题名)徐栋(作者姓名)指导教师杨国武教授电子科技大学成都(姓名、职称、单位名称)申请学位级别硕士学科专业电计算机软件与理论提交论文日期2016.03.28论文答辩日期2016.05.17

4、学位授予单位和日期电子科技大学2016年6月答辩委员会主席评阅人注1:注明《国际十进分类法UDC》的类号。ResearchandImplementationofInstrumentationBasedonSymbolicExecutionAMasterThesisSubmittedtoUniversityofElectronicScienceandTechnologyofChinaMajor:ComputerSoftwareandTheoryAuthor:XuDongAdvisor:Prof.YangGuowuSchool:Sch

5、oolofComputerScience&Engineering摘要摘要随着“互联网+”概念的提出,计算机相关技术的应用逐渐与传统的行业结合在一起,为其在现代化的发展道路上创造了新的契机。然而在发展的过程中,传统行业的进步也对计算机技术的更新提出了新的需求。其中,计算机软件的质量和安全问题一直都是软件开发过程中的重要的问题,特别是在国防、金融、医疗等领域。软件测试是保障软件质量和安全的常用方法,一个软件的开发必然伴随着多次的测试过程,所以软件测试对于程序开发人员来说是尤其重要的。软件测试过程一般为构造测试用例,代入程序进行测试,将

6、输出结果与预想值比对,修改程序中的问题,如此反复进行。这样的过程是看似平常却存在一定的缺陷,因为开发人员自己构造的测试用例并不能十分完美,使用这些测试用例来执行待测程序的时候,可能漏掉程序中的关键路径或不能触发存在问题的路径,这将导致存在的问题被遗漏。虽然人工穷举出程序所有路径的方法几乎不可能实现,但程序却可以达到此目的。基于动态符号执行理论的测试用例自动生成就能有效的解决上述问题,通过它而生成的测试用例理论上能够达到路径全覆盖,这无疑为穷举所有路径的方法提供了理论基础。本课题组利用动态符号执行技术开发出一个针对Linux平台的C

7、语言的单元测试的测试用例自动生成工具,而本文的主要研究内容在工具的插桩部分,即利用LLVM编译器框架对C程序的LLVM中间码进行分析,在中间码的相关位置插入桩函数,并通过模拟堆栈机的原理实现桩函数,使程序在执行时能够执行到桩函数,通过这些桩函数触发符号执行过程,进而自动生成测试用例。虽然目前已经有此类工具在实际项目中进行应用,但是还有许多需要完善的地方,例如路径爆炸、外部函数调用、浮点数处理等问题,本文就浮点数问题提出了一种新的解决方法。为了验证开发的测试用例自动生成工具功能的正确性,本文使用两个小程序和程序分析benckmark

8、中的一个大程序对工具进行测试。先通过小程序对测试的流程进行了说明,对测试过程中得到的文件和数据解释分析,最终的实验结果验证了插桩部分和浮点数求解的正确性。然后利用benchmark中的大程序对整个工具进行一次完整的测试,证明了工具的有效性。关键词:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。