基于约束的测试用例生成中可扩展性问题研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:diechong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试作为保证软件质量的重要手段,一直是计算机工程领域科学界关注的一个重要问题,已经成为软件生命周期中的重要组成部分。其中测试用例的设计与生成是决定软件测试效果的重要因素之一。   基于约束的测试用例生成是一种基于符号执行与约束求解技术的形式化方法,能够生成高覆盖、无冗余的测试用例集。这一方式是当前被广泛认可的一种测试用例自动生成方法,也是大多数现有测试用例自动生成工具的底层技术。但其仍然受到可扩展性等问题困扰,使其实际应用受到极大限制。   本文针对这一技术面临的可扩展性问题,提出了两项优化策略来提高用例生成的效率:   1.共享的解匹配策略(Shared Solution Matching Strategy,SSM)昂贵的约束求解开销是引发测试用例生成中可扩展性问题的重要原因,复杂的路径条件表达式和用例生成过程中频繁的求解器调用也加剧了这一现象。共享的解匹配策略使用一种中间计算结果的重用机制,来降低约束求解的开销,提高测试用例生成效率。   SSM通过对符号执行中路径可行性验证过程进行分析,将本应被抛弃的中间计算结果转化为测试路径的潜在解,用简单约束的可满足性匹配代替对整个路径条件的约束求解过程,降低测试路径可满足性验证过程的时间开销。同时在符号执行的搜索过程中对潜在解进行传递和迁移,保证每一个潜在解都能够到达程序出口。这一过程实现了对表示路径条件的SMT表达式优化,能够通过对不完整的路径条件求解获得最终的测试路径,并能够帮助符号执行提高应对复杂约束条件的能力。最终将两者结合构成共享的解匹配策略,完全消除了不必要的约束求解调用,使符号执行过程中对求解器的调用次数仅为可行路径与约束冲突的和,有效的降低了测试用例生成中约束求解的开销。   2.跳步的循环边界覆盖策略(Jumping Boundary Coverage Strategy,JBC)在符号执行中,循环结构往往带来大量的测试路径和求解器调用,导致严重可扩展性问题。本文借鉴已经在业界广泛使用的手工白盒测试中对循环结构的处理方式,提出一种跳步的循环边界覆盖策略来缓解这一问题。   这一策略的实现分为两个过程:在搜索过程中对循环结构的探测和对非关键路径的剪枝。本文通过对编译后循环结构的分析,提出了一种符号执行过程中循环结构的探测模型,能够在运行时同步的识别出被测代码的循环结构。然后应用共享的解匹配策略,减少约束求解器调用次数,并且能够避免在循环入口处对因跳出循环导致的不可行路径进行约束求解验证,降低循环覆盖测试过程中的时间开销。最后提供一种灵活的跳步剪枝策略来削减非关键路径,能够给测试人员提供更多的选择,在测试有效性和测试效率之间依照实际情况作出权衡。   最后,本文以NASA的开源项目SPF(Symbolic PathFinder)为基线系统,对上述两项优化策略进行评估。与SPF相比,SSM能够减少测试用例生成过程中约60%的约束求解器调用次数,降低约30%的约束求解时间开销,极大的缓解了约束求解过程带来的可扩展性问题。在对循环结构进行覆盖测试时,JBC优化策略能够减少一部分对不可行路径的约束求解判定次数,在本文中的例子中降低了至少20%的时间开销。配合灵活的跳步剪枝策略后,可以让测试人员依据测试任务的需求大量的削减循环结构产生的非关键路径。  
其他文献
近年来随着智能手机等移动终端的不断发展,很多传统意义上个人电脑和其它影音设备的功能也逐渐由移动设备上的各种各样的应用所取代。然而,受自身性能的影响和束缚,移动设备的相
近年来,随着集成电路工艺的不断发展,处理器与主存之间的速度差距日益增大;同时,随着超标量流水线、乱序发射执行等先进技术的引入,处理器的计算能力得到了大幅度的提升,从而对存
半导体装备业是一个投资密集、技术密集、发展迅速、竞争激烈的产业。如今,半导体装备制造的过程正逐渐趋于标准化,使用一种将数个机台整合在一起的集束式制造设备作为标准化生
处理器设计的日益复杂和设计时间上的限制,使得更为有效地进行处理器性能分析和优化成为当代处理器设计者面临的重大问题和挑战。  硬件性能监视器是现代处理器芯片中提供的
计算机网络与电视网络的融合为数字电视带来了越来越丰富的应用,数字电视接收端系统设计也从传统的采用数字电视专用芯片的结构,逐渐向基于高性能通用计算机系统芯片的结构方向
概率模型检查在分析系统的可靠性、可用性等方面有非常重要的作用。在一些嵌入式控制系统或自适应系统中,运行环境是经常变化的。这些变化会导致模型的改变,也就需要我们频繁地
使用场景是近来音乐信息检索领域提出的一个新兴的音乐元数据(或称属性),而目前音乐使用场景有关的研究工作较少,且都处于初期探索阶段。本文主要分析了从网络上采集的音乐数据并
随着信息技术、互联网技术的飞速发展,互联网上已存在着大量分散无序、形式多样、内容繁杂的网络资源和教学资源。在教学资源的建设和管理方面存在着:资源良莠不齐、重复建设
具有真实感的三维人脸合成是计算机视觉与计算机图形学领域具有挑战性的研究课题之一,并因为其在工业界的多个领域中的良好应用前景而被广泛研究。三维人脸合成技术有多个分支
传统系统安全的目标在于构建具有防御机制的系统,以使得系统可以免遭攻击者的非法入侵。然而实际经验表明,网络中时刻都存在大量的新的和未知的攻击,而且大多数系统中仍然存