基于切片技术的软件理解辅助系统设计与实现

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:kingper
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的发展和软件系统规模的扩大,现有软件系统往往积累了大量的行业知识,包括系统需求、业务规则和设计决策等,因此对软件系统的维护显得越来越重要。而对原有系统的理解是对软件进行维护的前提,只有正确理解了原有系统的功能,才能高效率地对原有系统进行维护和改进。因此,软件理解在软件维护过程中发挥着重要的作用。程序切片技术是Mark Weiser提出的一种程序分析的技术,它通过计算与某个用户感兴趣的变量相关的语句集来分解程序。程序切片技术的提出,极大地丰富了程序分析和程序理解的理论基础。在软件工程的各个领域如程序分析、理解、测试、调试、度量等,程序切片技术都得到了广泛的应用。本文设计的系统以程序切片技术为基础,采用的是Weiser提出的数据流迭代算法。由于C语言编制程序中指针的广泛使用,如果对指针作保守估计,将极大损害数据流分析结果的精确度。本文考察了指针分析的表示法、指针问题的复杂度、以及指针问题的分类,在介绍了一种上下文敏感的过程间指针分析算法的基础上,针对函数指针间接进行的函数调用,本文利用Atkinson函数类型签名过滤的思想,给出了一种提高函数指针指向精确度的方案。本文最后给出了系统的设计与实现,在程序分析前端的预处理器中,对系统头文件的包含作了过滤处理,这样就使得程序经过词法分析、语法分析之后,在中间代码产生器中产生的中间代码的数目大大减少。在分析后端实现了程序切片器、交叉引用器、模块内聚度量、文件及函数依赖显示器等。实现中用到的技术有LEX、YACC、dom4j、Java Swing、JFreeChart等。由于中间代码采用了XML表示存储,在此基础上开发新的后端分析工具是很容易的。本文中的系统对于软件人员关注变量使用,方便理解程序提供了帮助。
其他文献
访问控制是通过某种途径显式地准许或限制访问能力及范围的一种方法,在电子商务环境下,它是解决企业信息系统安全的关键方法之一,也是信息安全领域研究的重点和热点。目前已存在
科学技术的迅速发展和应用,对智能化系统的需求也变得更加突出和激烈。在这资源环境剧烈变化的时代,现代人类越来越注重生活品质与生活安全。智能化系统的出现为人类的生活提供
制造报文规范作为交换实时数据和监控信息的一套国际标准报文规范得到了广泛研究与应用。作为图形数学建模工具,Petri网广泛用于系统的建模、分析和仿真,但很少涉及Petri网模
随着人类科技的进步发展和先进仪器设备的应用,人类得到了大量的数据。其中,高维小样本数据作为生物信息数据的特点,给数据信息处理带来了新的挑战。为了从海量数据中提取有
本文主要研究了群体智能优化算法中的粒子优化群算法在函数优化方面的应用与改进。粒子群算法是近几年发展起来的一种基于群体智能的优化算法,其源于对鸟群群体运动行为的研
随着3G时代的到来,用户对移动通信有了更高的期望,不仅要求有稳定的语音通信,而且还要求能够进行数据和多媒体的多种通信方式。针对这些需求,第三代合作伙伴计划(3GPP)标准小
随着我国城市公共交通快速发展,轨道交通作为城市交通中的重要组成部分,在城市繁忙的公共交通运输中越来越受到青睐。但目前,轨道交通自动售检票系统在计算机技术应用层面上
由于系统芯片中IP核数目的逐渐增大,片上通信结构逐渐成了整个SoC的性能瓶颈,基于共享总线的SoC通信结构具有无法克服的局限性,这就对传统的共享总线片上通信系统提出了严峻的挑
BOSS(Business Operation Supporting System)系统经过多年的发展,已经具备了基于CDR(Call Data Record)的准实时计费功能,但是基于CDR的计费方式必然存在一定的欠费风险,欠
软件复用被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。随着构件技术和基于构件的软件开发的技术的发展使得构件库作为软件构件利用的物质仓库,如何在可复用的