基于约束求解的自动化软件测试研究

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:aibang027123456
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件质量问题是工业界和学术界共同关注的热点问题.软件测试是软件生产质量保障中的一项重要技术,它的主要目的是尽可能地减少程序的错误.本文着重研究了如何将约束求解应用到自动化软件测试.这些研究大致可以分为如下三个方面.   本文第一方面的工作是关于白盒测试的研究.白盒测试是面向程序代码的精确测试方法.我们可以采用符号执行的方法来处理程序中的路径,进而测试程序某些方面的性质.然而,由于符号执行的代价比较高,测试程序的所有路径几乎不可能;同时由于不可行路径的影响,我们需要采用一些合适的测试准则或者路径选择策略来指导我们生成测试路径集合.这一方面的工作包括两个部分.   1)本文提出了一种有效地产生可行基本路径的自动化方法,能在可接受的时间内针对真实C单元程序生成可行的基本路径.这种方法产生的基本路径集合的带权路径长度的总和是最小的.2)BPEL是一种业务流程描述语言,它可以表达程序复杂的并发行为.本文提出了一种新颖的基于并发路径分析的BPEL测试生成方法.我们采用了一些限制组合的技术以及路径覆盖准则来避免测试路径的组合爆炸.这个框架是模块化的,所以很多测试中采用的技术,比如不同的测试准则和约束处理技术,可以应用到其中.   本文第二方面的工作属于黑盒测试.黑盒测试用于对程序的功能和接口进行测试.我们可以用约束描述被测系统的规约或者测试准则,在这种情况下,黑盒测试用例的生成问题可以转化为有限约束满足问题.这一部分的工作也包含两部分.1)提出了基于SAT和回溯搜索算法的方法来解决组合测试生成问题.并提出了一个新颖的剪枝策略SCEH,用于提高算法的效率.一些已有的启发式搜索策略,以及一些对称打破技术,也被应用到我们的回溯搜索算法中.实验结果表明,我们的方法在一些小规模实例上的表现优于其它的方法.2)对于针对布尔规范的MUMCUT测试准则,本文提出了一种基于SAT的自动测试生成方法.为了提高采用完备性SAT工具时的求解效率,我们采用了一些对称打破技术.   本文第三方面的工作是分析线性数值约束的逻辑关系.在程序分析和验证中,相同的约束可能会需要反复处理.一种可能的加速方法就是预先找到约束之间的逻辑关系.这种关系可以用规则来描述.我们不大可能在多项式时间内找到所有的规则.本文提出了一种基于搜索的算法,以及一些启发式策略,用于寻找这些规则.实验结果表明我们的方法能够在可接受的时问内产生足够的规则.  
其他文献
机器翻译是自然语言处理中的一个重要研究方向。近年来,统计机器翻译取得了很大的成功,基于短语的翻译系统在机器翻译评测中占据了主要地位,并且取得了领先的成绩。最大熵模型可
当今已经成为社会信息化的基础平台,它是各种网络资源的互联。我国目前所处的网络环境的特点是机遇与挑战并存。一方面,互联网在我国处在快速发展阶段;另一方面,我国在互联网发展
学位
中国地质大学校园网规模不断扩大,原有的网络管理方式已不能满足发展的需要,如何保证网络快速,安全,稳定地运行已成为目前最主要的任务。本文利用SNMP协议,采用B/S开发模式,开发了
学位
当前,多核/众核体系结构已经成为主流架构。然而,多核/众核平台的实际性能与其拥有的资源并不完全匹配,平台可扩展性较差。如何充分利用多核/众核平台上丰富的计算资源成为学术
在多媒体时代,视频是包含信息量最大、最直观的一种信息传播媒介。然而,由于数字视频数据量巨大,必须经过压缩编码才能实现视频的传输、存储和播放。视频压缩编码技术一直是多媒
文本知识获取是知识工程乃至人工智能的关键技术和热门研究课题。文本知识获取的主要目的,就是从非结构化或者半结构化的自然语言文本中,挖掘出结构化的数据,使得机器易于理解,人
随着社会的不断发展进步,IT技术已经逐步渗透到各个传统行业,并在生产实践中扮演越来越重要的角色。从上世纪八十年代开始经过多年的不断发展,信息产业已经成为国家经济发展的主
学位
地面沉降在全球许多地方普遍发生,已经成为全球性的问题。传统的大地测量技术在日益严重的大范围地面沉降监测方面越来越显得难以胜任,而新兴的雷达干涉测量技术正好提供了一
学位
针刺作为一种治疗手段在中国已有三千年的历史。近三十年来针刺正在慢慢的被西方承认和接受。但在国外他仍然是一种辅助医疗手段,与各种安慰治疗措施相当。究其原因还是由于其