基于符号化执行的测试用例自动生成方法研究

来源 :西安理工大学 | 被引量 : 0次 | 上传用户:Crownless
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是整个软件生命周期中的重要环节,各个企业在对软件测试方面的投入也越来越大,测试用例的自动生成技术对于企业和整个软件测试都十分重要。现在市场上的测试用例生成工具虽然取得了一定的作用,但也存在路径覆盖率不高,冗余测试用例过多,执行效率低的问题。因此本文以符号化执行生成测试用例为课题进行研究,通过研究发现,符号化执行技术生成测试用例大部分为有效用例,有较高的覆盖率,但也存在路径遗漏覆盖和路径增长迅速造成路径膨胀,执行效率不高的问题。针对这些问题本文提出了基于摘要的随机深度遍历策略,该策略结合随机方法和深度遍历方法对符号执行树进行遍历,将执行过的路径保存在摘要函数,避免重复遍历。对于路径膨胀提出相似路径预测剪枝后二次覆盖执行的方法,本方法在进行代码插桩后获取程序函数间调用图,分析计算哪些代码没有被覆盖到,在遍历生成符号执行树后对生成的路径进行相似度预测计算,一些未覆盖路径且相似度较大的路径进行剪枝处理,最终再进行测试用例生成执行。本文还设计了自动化插桩方法,目的是收集路径约束、引导程序进入符号化执行,对变量进行符号赋值。实验证明,本文遍历策略相比改进之前的方法能够提升代码覆盖和执行效率,对相似路径预测剪枝再执行生成测试用例与其他方法进行对比后,通过测试结果分析,得出执行时间缩短,路径数量减少,代码覆盖度提升的同时路径膨胀风险降低。
其他文献
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
非单义性(неоднозначность)指的是语言符号具有两个或两个以上的意义。我们知道,语言符号具有内容和形式两个方面,常常内容与形式呈不对称状。如果一个语言单
随着社会的发展,流利的英语口语已成为社会和国际交往中的一项重要技能。中国的传统英语教育一直以来侧重于学生的书面英语能力的培养和提高,而根据这一侧重点发展的英语测试
分析混凝土配合比设计中值得注意的问题,水泥混凝土路面配合比设计是影响路面工程质量极其重要的因素之一。在工程上经常会出现原材料相同,但由于配合比不妥或失控,造成路面
1999~2001年,我们采用清热泻胆汤加用常规治疗脂肪肝60例,并与单纯常规治疗60例进行对照观察,现报告如下.
<正>为贯彻落实国务院办公厅《整合建立统一的公共资源交易平台工作方案》(以下简称:"《工作方案》")的要求,四川省政府办公厅于2015年12月31日印发了《整合建立统一的公共资
近年来,随着学习者主体地位的确认,国内外对外语教学的研究主要集中在学习策略上,但实践证明:策略的适用性和有效性并不具有唯一性,不成功的学习者不可能完全、机械地照搬成