统一的软件测试控制流覆盖准则体系及其符号执行制导技术研究

发布时间:2017-12-25 11:19

  本文关键词:统一的软件测试控制流覆盖准则体系及其符号执行制导技术研究 出处:《南京大学》2016年博士论文 论文类型:学位论文


  更多相关文章: 软件测试 测试覆盖准则 控制流覆盖 符号执行 缓存区溢出


【摘要】:软件测试是软件质量保障的重要途径,在工业界得到广泛应用。但是由于穷尽测试的成本极高,因此现实中度量测试的充分程度成为软件测试领域一个重要问题。基于控制流的软件测试覆盖准则正是在此基础上被提出,通过度量测试过程中不同事件的发生情况来理解程序的行为并判断测试的充分程度。传统的控制流覆盖准则,如语句覆盖、分支覆盖,相对易于理解和实现,因此应用较为广泛。但是,由于语句和分支所包含的信息较少,这些覆盖准则不能很好的展示程序的行为;而路径覆盖准则能够以较细的粒度来捕获程序的行为,但是由于程序中路径爆炸、路径不可达等问题的存在,实现这一准则的成本很高,难以广泛使用。因此,现有的各种基于控制流的测试覆盖准则不仅形式上存在差异,而且从分支覆盖到路径覆盖之间存在巨大的复杂度和成本鸿沟,难以形成连续、统一的测试覆盖谱系,使得工业界难以细粒度地控制和判断测试投入。另一方面,在选定覆盖准则以后,如何有效地生成测试用例是软件测试需要解决的又一重要问题。符号执行技术通过探索遍历程序路径空间自动地生成测试用例,但是由于程序路径空间十分庞大,需要有效的方法和技术制导符号执行以提高测试用例生成效率、降低成本。本文围绕建立统一的软件测试控制流覆盖准则体系及其上的符号执行制导技术展开研究工作,具体包括以下几个方面:1.提出一种统一的软件测试控制流覆盖准则体系-Length-n Subpath Cover-age Criterion (LSC(n))。通过衡量程序中的Length-n Subpath,即连续n个分支组成的子路径的覆盖情况来灵活地获取从分支覆盖到路径覆盖之间的程序频谱,为工业界细粒度、连续地控制和判断测试投入提供支持。2.基于LSC(n),提出了面向程序中罕至部分的符号执行制导策略。根据已探索部分的LSC(n)频率,选取执行频率最低的Length-n Subpath对应的执行进行进一步的探索,并在符号执行引擎KLEE上实现了对应的制导策略。实验表明,该方法可以有效地指导符号执行快速的对程序整体进行覆盖、发现程序中的错误。3.基于LSC(n),提出了面向程序中重点区域的符号执行制导策略。针对测试人员需要对程序中的某些部分进行重点的测试和检查这一应用场景,结合符号执行过程中已探索部分的LSC(n)频率及对重点部分的覆盖情况为每个Length-n Subpath设置了一个权值,并选择权值最高的Length-n Subpath对应的执行进行进一步的探索;基于以上方法,在符号执行引擎KLEE上实现了对应的制导策略,实验表明,该方法可以更好地在重点部分进行探索,并产生相应的测试用例。4.基于LSC(n),提出了面向程序中特定目标组的符号执行制导策略。相对于对程序进行全面或局部的探索,指导符号执行针对特定目标组(如关键语句或操作)能够更加有效的减少探索的路径空间。针对用户给定的特定目标语句组,计算出能覆盖该语句组的所有Length-n Subpath集合,指导符号执行在探索过程中枝剪不属于该集合的Length-n Subpath对应的执行,使符号执行仅关注覆盖目标语句组的路径。在此基础上,以静态分析技术给出的缺陷警报信息为目标组实例,结合缓存区溢出这一特定问题实现了缓存区溢出缺陷警报审查和修复工具,实验表明,针对缺陷警报信息进行探索可以有效的提高搜索效率,同时能根据符号执行过程中的信息分辨缺陷的真实性。
【学位授予单位】:南京大学
【学位级别】:博士
【学位授予年份】:2016
【分类号】:TP311.53

【相似文献】

相关期刊论文 前10条

1 洪宇;陈光;于见平;韩柯;;处理符号执行中数组元素混淆的一种新方法[J];计算机应用;2005年S1期

2 过辰楷;姬秀娟;许静;;基于分支混淆算法的符号执行技术[J];计算机科学;2012年09期

3 刘杰;曹琰;魏强;彭建山;;符号执行中的循环依赖分析方法[J];计算机工程;2012年22期

4 黄晖;陆余良;夏阳;;基于动态符号执行的二进制程序缺陷发现系统[J];计算机应用研究;2013年09期

5 翁子盛;王宝生;林锦滨;;程序符号执行中的数组分析[J];长江大学学报(自然科学版)理工卷;2010年01期

6 贾春福;王志;刘昕;刘昕海;;路径模糊:一种有效抵抗符号执行的二进制混淆技术[J];计算机研究与发展;2011年11期

7 周孔伟,蔡经球;符号执行—介于程序验证和程序调试之间的方法[J];小型微型计算机系统;1982年04期

8 高仲仪 ,梁霞;符号执行和测试数据辅助生成的实验系统[J];北京航空学院学报;1988年04期

9 程绍银;蒋凡;林锦滨;唐艳武;;基于有限回溯符号执行的软件疑似缺陷的自动验证[J];清华大学学报(自然科学版);2009年S2期

10 梁娟娟;刘久富;朱丹丹;陈柯;;基于符号执行的软件静态测试研究[J];计算机技术与发展;2013年06期

相关会议论文 前3条

1 林锦滨;张晓菲;刘晖;;符号执行技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年

2 范海虹;;俄汉姓名称呼对比[A];外语语言教学研究——黑龙江省外国语学会第十一次学术年会论文集[C];1997年

3 刘峻宇;李强;余祥;何海洋;;基于符号执行的指挥信息系统软件缺陷检测技术[A];2014第二届中国指挥控制大会论文集(上)[C];2014年

相关博士学位论文 前7条

1 张羽丰;符号执行可扩展性及可行性关键技术研究[D];国防科学技术大学;2013年

2 李游;统一的软件测试控制流覆盖准则体系及其符号执行制导技术研究[D];南京大学;2016年

3 范文庆;分段符号执行模型及其环境交互问题研究[D];北京邮电大学;2010年

4 安靖;动态符号执行关键技术研究[D];北京邮电大学;2014年

5 曹琰;面向软件脆弱性分析的并行符号执行技术研究[D];解放军信息工程大学;2013年

6 陈厅;动态程序分析技术在软件安全领域的研究[D];电子科技大学;2013年

7 邢学智;基于TTCN-3语言的测试理论与技术研究[D];中国科学技术大学;2010年

相关硕士学位论文 前10条

1 李奇军;基于符号执行的代码静态检测方法研究与实现[D];电子科技大学;2015年

2 柯明敏;动态符号执行在软件漏洞自动化发掘领域的应用研究[D];电子科技大学;2015年

3 康文涛;符号执行工具KLEE约束求解优化设计与实现[D];电子科技大学;2014年

4 吴情彪;基于符号执行的软件污点分析研究[D];武汉邮电科学研究院;2016年

5 陈冰;符号执行技术研究与改进[D];南京大学;2014年

6 李景曦;基于控制流分析的模糊测试技术研究[D];北京理工大学;2016年

7 鲍铁匀;符号执行制导技术及其应用研究[D];南京大学;2016年

8 邓维;形状分析符号执行引擎中的状态合并[D];中国科学技术大学;2016年

9 蒋思远;基于动态符号执行的测试工具设计与实现[D];华东师范大学;2012年

10 闫晓伟;基于符号执行的软件脆弱性测试技术[D];电子科技大学;2012年



本文编号:1332620

资料下载
论文发表

本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/1332620.html


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

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