Java程序维护中基于别名分析的错误诊断技术与工具

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:kylinbin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在纠错性软件维护中,相当大一部分错误是由于程序对别名表达式指向的对象进行了误操作而引发的。因此,针对别名引发的软件错误,本文讨论了基于别名分析的错误诊断技术,以及基于别名分析的错误诊断工具的设计与实现。别名分析是在程序运行过程中,提取可能指向同一内存地址的表达式集合的一种技术,对程序分析起着十分重要的作用。在实际软件维护支撑工具中,主要关心的问题是分析的时间复杂度和分析结果是否可以有效地重用。因此,根据软件维护的特殊要求,本文采用了分阶段、基于知识库与增量式的分析策略。以单个方法为模块构造其别名关系图、控制流图,当被分析程序的某个部分发生改变时,并不需要对整个程序重新进行一次分析,而只需对发生变化部分及其相关区域重新分析,将其分析后的结果对程序信息知识库中原有信息进行更新,其知识库信息采用XML文件进行描述存储。这种分析策略提高了分析结果的可重用性。整个分析策略通过两个具体分析阶段来实施,第一阶段主要进行类内别名分析,并将分析的结果作为程序信息的知识库,第二阶段基于程序信息知识库进行类间别名分析。在第一阶段分析中,主要分析类内每个方法的别名信息集,本文对传统的流敏感的跨方法别名分析方法进行适当的改造,应用于类内别名分析。另外,本文针对异常结构构造了包含异常结构的控制流图,这为含有异常结构程序的方法内别名分析提供了支持。第二阶段分析主要是类间别名分析。在此阶段中,根据软件运行中暴露出的具体错误,用户设置出相应的别名标准,然后基于知识库XML中存储的类内别名信息和程序的方法调用信息,使用本文设计的别名计算算法,计算出与别名标准相关的别名信息。
其他文献
本文详细讨论了数据融合中的雷达辐射源识别、平台识别问题。针对雷达辐射源识别,本文把人工神经网络、模糊匹配方法、D—S证据理论结合起来,提出了三级雷达型号识别模型。首先
学位
汇合性质和家态是Petri网的两种重要的性质,它们在应用领域有着重要的作用和价值。然而在纯Petri网理论里,关于汇合性质和家态的系统的研究工作却很少。本文即针对Petri网的汇
专用移动通信网主要指在发生地震或水灾后的营救等无法或不便预先铺设网络设施的场合所架设的网络。由于其网络节点的移动性强,所处环境复杂,出现故障的概率极大,并且伴随着信息
计算机语言是计算机与使用者之间的通讯语言。是计算机与其使用者之间信息传递的媒介。  计算机语言的发展经历了最初的低级语言到高级语言的复杂历程。由最初的机器语言到
为满足棒材分离系统研制和开发的需要,利用仿真平台对棒材完全分离控制策略进行了研究,主要内容有:完全分钢方案。在介绍端部棒材在线点支及分离系统之后提出棒材完全分离的
团簇是一种介于微观与宏观世界的物质,有着独特的物理化学性质。团簇的性质是由其结构决定的,因此,确定团簇的结构就成为了团簇科学界关注的重要问题。团簇结构的形成是由组
医学数字图像与通信协议(DICOM),是目前建设图像归档和通信系统(PACS)被广泛遵循的一个国际标准,也是PACS成功运行的关键。研究DICOM标准,自主开发符合DICOM标准规范的PACS系
分销渠道是企业完成产品分销任务的重要资源,分销渠道的管理是企业市场营销工作的重要组成部分。在企业的销售过程中,分销渠道体系的健康与否,决定着渠道中各个实体之间是否
进化测试是近年来刚刚兴起的测试数据自动生成技术,已在很多实际工程中得到了成功应用。然而,在白盒测试中,当程序中存在枚举变量时,利用传统适值函数计算公式所得到的适值地