基于符号执行生成测试数据的过程优化

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:jing4912
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是保证软件产品质量的重要手段。其中,如何生成最少的测试输入数据而能对程序进行最全面的测试,成为了人们研究的一个重要课题。测试方法主要分为动态测试和静态测试。   符号执行是一种静态测试方法,它利用符号值代替具体数值对程序的行为进行模拟,实现对程序的分析测试。传统符号执行中对程序方法的指令处理顺序采用了单一的前向遍历,这样会记录很多的冗余信息,它们对程序的执行路径没有影响;另外,符号执行产生的表达式,会由于不断的符号替换等操作,增加表达式的规模,最终会降低输入数据的求解速度。   本文首先介绍了软件测试的研究背景及现状,包括测试数据自动生成的现有方法。针对符号执行中存在的问题,构建了一个生成测试数据的框架。作为符号执行的前提,该框架首先从字节码文件中提取程序的指令信息,并以此获得程序的控制结构和执行路径;然后对传统的符号执行过程进行了改进,包括对指令的建模,通过结合现有两种访问程序指令的方式,避免对部分冗余信息的记录,提高了获取路径条件表达式的速度。另外,利用现有的计算机代数系统,对路径条件表达式进行了更加彻底的化简,这有助于约束系统更快的求解出测试数据,进而提高整个测试数据生成过程的效率。   文章最后,对新方法进行了代码实现,并选取几个程序进行了简单实验,结果表明了新方法的有效性。
其他文献
随着信息技术的不断发展,网络无疑已经成为人们日常生活的重要载体之一。随着网络应用不断丰富,网上用户量不断增加,网络上的数据流量也相应地飞速增长,为了保证网络高效持续
随着电子商务在全球范围内持续繁荣,客户的需求变得日趋个性化,如何针对客户的个性化需求迅速制定精确的生产计划已成为传统的加工制造企业不得不面对的难题。针对这种离散制
精确的大气与动态云可视化可以为航天、航空和虚拟战场等领域的仿真应用提供逼真的虚拟环境,对仿真结果精度的提升具有重要的意义。可视化建模中的准确性与实时性一直都是矛盾
等离子体控制系统是托卡马克装置的一个子系统,是用来监视和控制包括等离子体形状、位置、电子温度、密度等在内的众多等离子体参数的软硬件系统。放电过程中产生的实验数据,以
物联网(IoT,InternetofThings)已成为当今信息技术领域世界关注的焦点问题,世界各主要国家纷纷加入到物联网的研究中,中国在物联网的研究方面与世界同步。无线射频识别技术(RFI
随着信息技术的发展,维文电子文档数目迅速增长,如何快速准确的从浩如烟海的电子文档中获得所需信息成为一个亟待解决的问题。文本分类是处理和组织维文电子文档的一项关键技术
随着近年来我国航天事业的快速发展,深空探测技术受到大家越来越多的关注。深空探测技术的研究对我国航天领域的持续发展有着非常重要的现实意义。与近地卫星轨道设计相比较,深
集成电路工艺的不断发展和体系结构设计复杂度的不断提高给处理器验证带来了越来越多的挑战。功能验证和性能验证是处理器验证中最重要的两类工作。功能验证是为了保证设计出
随着计算机技术的快速发展,计算机软硬件系统的规模也急速增大,系统中会出现较多的错误和设计缺陷,这给系统的可靠性验证带来较大的难度。此外,一些安全攸关的系统(如电子商务系统
三维空间规则数据场中等值面的构造是计算可视化的重要内容。现代科学计算所产生的数据呈现出了量大、抽象等特点,使人们很难直观形象地观察数据的属性特征。将等值面抽取应