基于PAT树的符号执行工具的设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:haha7289
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件产业的不断发展,程序的规模越来越大,完全依靠手工进行测试的难度越来越大,这就需要一些辅助测试的自动化测试工具。自动化测试工具能够自动地分析项目的源程序,自动地生成测试用例,并且达到一定的程序测试覆盖率,大大提高软件的可靠性和正确性,并且节约大量的人力和时间。符号执行使用抽象的符号表示程序中变量的值,来模拟程序的执行。符号执行的研究对于软件测试中测试用例的产生方法和程序证明理论研究,以及软件工程中逆向工程的研究都有重要的意义。因此,无论在软件工程的理论研究,还是在软件测试自动化的工程实践中,符号执行都有进一步研究的价值。目前国内外对符号执行进行了较深入的研究,并且已经开发出了一些工具。但是符号执行的一些问题尚待解决,而且国内外缺乏针对Java的符号执行工具。对数组的处理和模块调用的处理,仍旧是Java语言符号执行研究的难点。此外,Java语言是一种面向对象的语言,其面向对象的复杂特性也增加了其符号执行研究的难度。基于程序静态分析树PAT(Program Analysis Tree)树的符号执行方法是一种自动化的程序静态分析方法。该方法通过分析Java源程序建立PAT树。程序静态分析树能够对Java程序进行形式化的描述。基于程序静态分析树的遍历方法是一种基于Java程序的逻辑结构的算法。此外,符号执行系统的程序基本结构处理策略、符号计算方法和方法调用也是研究的重点,针对数组这个符号执行的难点也进行了相关的研究。最后,通过一个针对Java程序的符号执行工具JSE(Java Symbolic Executor)分析表明了基于PAT树的符号执行在实践中的可行性。
其他文献
G(o|¨)del语言是继Prolog语言之后出现的一种通用、高效、表达性较强的说明性逻辑程序设计语言,它摒弃了Prolog语言中的非逻辑成分,试图解决Prolog语言中存在的语义问题。在
量子信息与量子计算作为一门新兴的学科,是量子物理学与信息科学相结合的产物,越来越多的人正在对其进行研究。量子状态区分作为当今量子信息学研究的重要问题之一也引起了人们
随着多媒体技术和计算机网络技术的发展,数字产品的版权问题显得尤为重要,如何确保数字产品的安全已经成为国内外研究的热点。数字水印技术作为一种新的版权保护方法,从20世
机器翻译(MT)就是利用计算机将一种自然语言的文本或对话转换为另一种自然语言的文本或对话,同时保持语意的一致性。在给定源语言的情况下,机器翻译的过程就是寻找与源语言在
《中共中央关于构建社会主义和谐社会若干重大问题的决定》(以下简称《决定》),对构建社会主义和谐社会的重要性和紧迫性作了十分精辟 The “Decision of the CPC Central C
现代计算机系统都采用多任务多用户操作系统,系统中的每一个外部设备都需要驱动程序的支持。 随着外部设备种类越来越丰富,功能、接口更加多样化,与此相关的驱动程序支持也成
互联网作为一个巨大信息资源库,人们已经习惯于通过搜索引擎(如Baidu、Google、Sohu、Yahoo等)的方式获取信息。但是用户在使用这种方法检索时发现诸多问题。首先,用户在通过
目的 本研究旨在通过横向比较有经验内镜医师与结肠镜初学者之间腺瘤检出率的差异,纵向观察各医师自身的指标离散趋势.探讨加强结肠镜质控,提高ADR的方法 .方法 回顾性分析20
基于区域的图像检索是基于内容图像检索的一个重要研究方向,它利用图像分割技术把图像分成多个区域,用区域特征集表示和索引图像。该技术在一定程度上实现了对象层次的检索,
回BN 回B 间@羹缕企业答遍@@矿山E力与丈护@浅谈煤炭企业的发展方向—………………………………·IM岩松动回支护理论在“三软啊层沿空扬巷支护设计中村立质量意识,图化煤质