面向Java的跨函数分析技术

来源 :北京邮电大学 | 被引量 : 2次 | 上传用户:joinjoy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文介绍了作者在跨函数分析研究方面所做的工作,包括跨函数分析技术的设计与实现以及对现有DTSJava(Defect Testing System for Java)系统的改进,将跨函数分析模块与区间运算模块结合,针对资源泄漏缺陷实现检测算法,从应用角度验证了DTSJava跨函数分析技术。DTSJava是一个以数据流分析为核心、以抽象解释和模型检查辅助的通用的软件缺陷静态检测系统。它将软件故障抽象为缺陷模式状态机,故障构成因素表示为状态,构成因素的时序关系表示为状态之间的转换。缺陷模式分析的过程是沿着控制流按状态机的转换条件进行状态计算。如果实际导致状态转换的源代码不在同一函数中而是通过函数调用,那么称为多个函数构成的故障。已有的DTSJava检测系统关注整个系统框架的设计与实现,不具备多函数故障的检测能力。与著名的软件测试工具Klocwork的对比发现,多函数故障在DTSJava的漏报中占很大比例。为了提高故障覆盖率,本文提出面向故障的函数摘要概念,将跨函数分析分为收集和应用函数摘要两阶段。系统提供抽象定义,故障检测算法实现函数摘要的提取方法和应用方法。根据用途的不同,本文设计了三种函数摘要:前置条件Precondition、后置条件Postcondition和函数特征Feature。前置条件是避免程序故障必须满足的限制,后置条件表示函数对调用者上下文环境的影响(如变量值),函数特征表示对故障检测状态机的影响(如文件操作)。最后针对资源泄漏故障模型,本文实现一种跨函数分析检测方法,通过实验从应用的角度证明DTSJava跨函数分析模块的价值。
其他文献
随着通信技术的发展,通信传输能力已能满足更丰富的上层业务的需求。在众多新兴业务中,远程多媒体会议服务成为既符合客户需求,同时可以充分利用网络带宽的电信业务。与此同
随着通信网和互联网的发展,用户对通信业务的需求也在不断的变化。3G时代的到来,使得视频业务成为3G增值业务的焦点,用户需求也越来越便捷化、个人化、娱乐化。用户想通过手
随着网络技术的发展,网络用户与网络中流量飞速增加,需要连接网络的分布式路由器具有更快的转发速率,而IP报文在路由器FPGA (Field-Programmable Gate Array,现场可编程门阵
视频传感器网络(Video Sensor Networks)是一种由具有计算、存储和通信能力的视频传感器节点组成的分布式感知网络。节点定位是视频传感器网络进行目标识别、监控、跟踪等众
车牌自动识别系统是实现交通管理智能化的重要环节之一,研究车牌自动识别技术具有重要的实用价值。车牌自动识别系统一般包括车牌定位、字符分割和字符识别三部分。本文主要
信息检索是从信息集合中找出与用户需求相关的信息。本体作为一种表示知识的形式,具有良好的概念层次结构,支持推理功能,因此基于本体的信息检索能给检索服务性能带来极大的
随着微博用户数量的快速增长,微博的炒作现象也越来越严重。“网络水军”和“网络推手”等利用微博散布谣言及虚假信息,严重干扰了网络秩序。目前,在对微博炒作的研究方面,主
随着遥感卫星技术的发展应用,遥感图像在日常生活和军事上具有重要作用。多光谱图像具有较高的光谱分辨率,光谱信息丰富,但由于物理器件的限制,空间分辨率较低,而全色图像具
号码携带系统主要是为了提供这样一种服务,用户可以随意更换手机服务的运营商,但是原拥有的手机号码不用改变。对于运营商内部的从2G到3G的携号转网可以通过自身的升级实现,
自然景物模拟在计算机图形学占有非常重要的地位,而且自然景观的三维模拟在电脑游戏、电影特效、虚拟现实等领域中使用得越来越频繁。虚拟模拟常用的方法有分形几何方法、纹