基于函数建模的面向路径自动打桩方法研究

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:focus2316acn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在现代软件测试中,单元测试是一种重要的测试方法。它对软件中的最小单元即函数模块进行测试。任何函数模块都不是独立的,可能需要调用其他函数模块来完成目标功能。由于一个外部函数调用语句的行为是由它调用的函数决定的,所以无法从函数调用语句本身推断出它的语义来。如何处理函数调用是正确进行单元测试的关键问题之一。论文围绕提高打桩的精确化程度和自动化程度两个方面进行了以下工作:(1)提出了基于上下文敏感的函数建模方法,该方法以符号执行、数据流分析技术、抽象内存建模技术、以及路径敏感的区间计算技术为核心,可以模拟外部函数调用,较为完整的保存外部函数调用的约束信息以及语义信息。该方法根据所选择路径可确定出函数调用的实参,返回值以及在函数调用中可能改变的全局变量的确定值,并将这些值的语义信息使用变量类型的抽象内存模型进行保存。(2)提出自动化桩代码生成方法,该方法目标是全自动的生成桩函数,减少人工干预。为达到该目标,在函数建模技术的基础上,设计了基于函数建模技术的自动化桩代码生成方法。该方法全自动的完成了一个函数模型记录到一个完成可被正常编译执行的C代码的转译流程。经由上述两方面工作,单元测试中可以脱离人工干预、完全自动化的完成路径敏感的函数调用打桩问题,测试效率有较大提高。作者在代码自动化测试系统(Code Test System)中实现了上述方法,并对大型的开源程序(scipy-0.7.0)进行了测试。结果表明,该方法将平均覆盖率由43.76%提高到了65.94%。对于个别表达式较多,变量单一的函数、覆盖率提高了近一倍,并支持正确的自动化的打桩,验证了该方法在单元测试中的作用。
其他文献
该文首先介绍了WebServices的基本概念.然后描述了WebServices架构下事务处理的设计.X/OpenDTP模型是一个广泛接受的标准,该文基于X/OpenDTP模型设计了WebServices架构中的短
针对办公自动化系统中邮件安全性要求,提出了加密和数字签名方法,该方法基于广泛使用的邮件加密软件PGP。本文详细的分析了组成该PGP算法的所有算法的安全漏洞,针对这些漏洞提出
Web商业化至今,搜索引擎始终是网络上被使用最多的服务项目.然而,随着网上内容的爆炸式增长和内容形式花样的不断翻新,传统的搜索引擎越来越不能满足人们的各种信息需求,主要
该文首先介绍了搜索引擎的整体发展情况,包括中文智能搜索引擎的现状和特点,然后对文本自动分类系统中所涉及的关键技术,包括向量空间模型,文本表示方法,分词方法,特征提取,
Sun的企业Java平台J2EE为实现多层体系结构提供了具体的技术规范.由于Java的跨平台性,J2EE具有工业强度的可扩展性,支持合理的集成和灵活的部署.该文在深入研究了多层体系结
智能化是计算机发展的必然趋势,无论是计算机控制,还是商用民用软件,都要求含有越来越高的智能因素,因此人工智能领域的研究越来越受到重视。近几年多智能体系统成为研究热点之一
该论文研究如何提高设备驱动程序的开发周期、安全性及可移植性等问题.论文首先对设备驱动程序所涉及到的各个方面作了简单介绍,总结了前人所作的相关工作,提出了一个解决设
在Internet/Intranet技术和应用发展的同时,面向对象技术也获得了长足的进展,并由此产生了分布对象计算技术,以及基于组件的多层体系结构技术架构.目前,基于组件的多层体系结
近些年来,随着计算机技术的快速发展和企业信息化程度的不断提高,企业数据量正呈现指数增长,这些数据蕴含着大量的信息财富,通过对其合理存储和管理,可以减少知识流失,为企业
该文在深刻分析了SMPP协议的基本功能、会话流程以及原语操作的基础上,从组件技术、JAVA加密技术和中文文本过滤技术等三个方面,提出了对实现SMPP协议的改进意见.采用组件技