基于多项式约束求解的程序路径测试用例生成研究

来源 :华东师范大学 | 被引量 : 0次 | 上传用户:hiss006
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试作为软件工程的基本过程之一,是确保软件质量的重要方法。测试用例自动生成技术作为软件测试的重要内容之一,能够增加软件测试的准确性、有效降低测试成本,具有广阔的发展前景。当前最常用的测试用例自动生成技术之一,就是符号执行。然而,基于符号执行的测试用例自动生成技术目前存在明显的不足之处:在遇到复杂的非线性浮点约束时其效果并不理想,主要体现在非线性约束的复杂性导致的求解困难和浮点计算的精度限制导致的求解不准确两个方面。目前,C语言是应用最广泛的编程语言,能够对C语言程序进行测试用例自动生成具有很高的实用价值。本文给出了一个基于多项式约束求解的测试用例生成方法,并根据这个方法开发了一款针对C语言数值程序的测试用例自动生成工具。本文的具体研究内容,包括以下三个方面:●研究符号执行技术,选择支持C语言和浮点数的符号执行工具KLEE-FP,通过符号执行技术提取程序中的路径约束。进一步,设计分析路径约束的方法,将通过KLEE-FP得到的路径约束转换为多项式约束。●对于从C语言程序中得到的每一条路径对应的多项式约束,研究如何更快、更准确地求解。一方面,研究了基于低秩矩量矩阵恢复的多项式系统求解方法,对于含有等式和不等式的复杂多项式系统,该方法求解速度更快、更适合大规模问题的求解;另一方面,研究了基于区间分析的验证算法,通过计算出包含准确实解的区间并基于该区间给出测试用例,来有效地避免浮点计算导致的不准确和异常。●实现了一款测试用例自动生成工具ATCase(Automatically generate Test Case),能够分析C语言数值程序中的路径并自动生成满足该路径约束的测试用例。总的来说,对于给定的C语言数值程序,首先通过符号执行技术提取程序路径约束并转换为多项式约束,然后通过多项式约束求解的可验证算法得到满足路径约束的测试用例。本文根据这个过程开发了一款软件ATCase,并通过实验验证了 ATCase的高效性和强健壮性。
其他文献
晶体工程和超分子化学的目的都是为了更深刻的理解和更精妙的操控分子间相互作用,以便设计建造出新颖的晶态固体。对铀酰配合物的研究是为了理解铀酰和有机物种之间的相互作
20 0 3年 11月 3日水利部水土保持司刘震司长在中美水土保持研讨会上作题为《中国的水土保持》的报告 ,全面介绍了我国水土流失现状 ,阐述了水土流失发生的原因及危害 ,高度
依据河北省区域岩石地球化学调查成果,讨论了区内不同成因类型含铁岩系的地球化学特征。其中重要的沉积变质铁矿地层中Al2O3、Ti、P、V、Cr、Ni、Cu、Zn的质量分数和w(Fe2O3)/w(Fe
目的:分析重症脑卒中患者尽早行肠内营养治疗的效果。方法:选择重症脑卒中患者75例,随机分为观察组(39例)及对照组(36例)。两组患者均给予常规治疗,并于患病48 h内进行营养治疗。观
在未成年人违法犯罪案件中,教师失范行为起到示范作用,某种意义上是教师的失范行为引导未成年人走向越轨。提高教师职业准入门槛将不合格人员拒于教职之外,制定一系列相关制
目前,我国的工民建事业随着建筑行业的发展也有了飞跃式的进步.桩基工程作为工民建事业的基础工程而言,其重要性不言而喻.本文主要论述了桩基工程施工原则和技术控制的重要性
自森林沼泽景观区1:20万区域化探工作开展以来,各个单位、不同阶段工作方法技术各有不同,工作效果不明显。中国地质科学院地球物理地球化学勘查研究所近年来通过试验研究制定了
20世纪末以来中国城郊农业区的演变更加复杂。中国现代城郊农业区的研究应把经济活动的微观机制、社会经济活动的中观行为及区域的宏观发展作为一个系统进行研究;在三个研究