欢迎来到天天文库
浏览记录
ID:35068829
大小:4.99 MB
页数:78页
时间:2019-03-17
《基于符号化执行的插桩技术研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、誦i4击种成*著ONCsc£NCFCHINAIuniversII6ANDTECHNOLOOYOityOFELECTR硕±学位论文IMASTERTHESIS..時識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中的大程序对整个工具进行一次完整的测试,证明了工具的有效性。关键词:
此文档下载收益归作者所有