基于依赖性分析的程序切片技术研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:chinamp3jgy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序切片是一种重要的程序分析理解方法,用于从源程序中抽取对程序中特定点上的特定变量有影响的语句和控制条件,组成新的程序(称作切片),然后通过分析切片来分析源程序的行为.二十多年来,人们对它进行了广泛而深入的研究,取得了许多研究成果,使得它在软件调试、测试、维护、度量、程序变换、软件逆向工程与再工程等方面得到广泛应用,受到广大软件研究、开发人员的高度重视.论文主要工作包括:(1)通过对切片理论的研究,一定程度上解决了当前在大型程序切片、面向对象程序切片、并发程序切片及动态切片等方面存在的一些问题,提高了切片的效率和精确度;(2)进一步拓宽了切片技术的应用范围,将依赖性分析及程序切片技术应用于软件可测试性分析、测试覆盖率分析、类内聚度度量等方面;(3)对系统实现的若干问题进行了探索.论文工作的主要成果表现在以下几个方面:1.对传统的依赖性分析方法进行了改进,提出了一种新的子程序依赖性分析方法.在此方法中,依赖图的计算以子程序为单位,子程序间相对独立,内部数据、语句之间的依赖关系对外不可见,仅提供参数间的依赖关系作为对外接口.2.为了解决目前大型程序切片效率低的问题,提出了一种渐增式依赖性分析方法,根据用户需要逐渐建立依赖图,而不是预先建立整个系统的依赖图.与此对应,我们提出了部分切片的概念,可以只对感兴趣的部分进行切片,而非针对整个程序.3.为了有效描述面向对象程序的特性,提出了一种新的面向对象程序切片方法.在此方法中,类的依赖图由组成类的方法的依赖图组成,它们与类的方法一一对应.当构建子类的依赖图时,父类的依赖图无需重建,子类直接继承其父类的依赖图.在此基础上进一步提出了一些关于对象切片、类切片、类层次切片以及类粗粒度切片的概念和方法.4.为了提高动态切片的追踪效率,提出了一种利用静态分析的结果来减少动态追踪的信息量方法.5.为了简洁、有效地描述并发程序,提出了一种并发程序流图.基于这种表示,建立了并发程序依赖性分析模型.由于充分分析了各种并发行为,并考虑了并发和同步的语义,所构建的并发程序依赖图比已有其它方法都精确.在此基础上,提出来一种新的并发程序切片方法,它可以在多项式时间内分析得到较精确的并发程序切片.6.将程序切片技术应用于软件可测试性分析,提出了一种模块级的可测试性分析方法,使得它更能适用于黑盒测试.7.提出了一种利用程序切片计算关于变量测试覆盖率分析的方法,在计算覆盖率时,只考虑与这些变量有关的代码,结果更加准确.8.为了克服了现有方法只分析某个方面的不足,提出了一种基于依赖性分析的类内聚度度量方法,并证明了它满足优良的内聚度度量方法应该具有的性质,为综合评价类内聚度提供了指南.
其他文献
随着半导体技术的发展,越来越多的设备开始具备“智能”,而嵌入式系统就是各种设备里“智能”的实现手段。今天,嵌入式系统已经融入了我们工作和生活的各个领域,发挥着重大的
传感技术是信息科学的基础,传感器技术是现代信息技术的重要支柱之一,几乎渗透到科学技术和国民经济的每个角落。传感器网络是由一定数量的传感器节点通过某种有线或无线协议
随着计算机软硬件、计算机图形学、计算机辅助设计、虚拟现实以及人工智能等技术的发展,融合了这些因素的计算机辅助人机工程正获得越来越广泛的关注与应用。 许多复杂高
随着网络技术的发展,信息服务被应用到现实世界中,面对周围环境的大量的信息服务,如何适时为用户提供合适的服务,从而提高用户对信息服务的满意度,成为当今热门的研究方向。为了达
Web服务是新形式的因特网软件,它统一使用因特网协议布置和调用,来自不同服务商的服务被整合以提供一个组合服务。随着Web服务技术日新月异的发展,服务提供者之间竞争的加剧,通常
随着计算机技术的发展,机器人系统的理论及应用研究已经成为人工智能研究的热点,这其中比较有代表性的就是移动机器人系统的研究。移动机器人的路径规划是移动机器人技术研究中
P2P即Peer to Peer,称为对等通信,是一种全新的互联网技术,它将传统的以服务器为中心的互联网应用模式提升为以用户为中心的对等模式。 P2P在文件交换,对等计算,协同工作,搜索服
随着世界各国在海洋开发方面展开日趋激烈的竞争,对具有自主导航能力的水下机器人的要求越来越高,需求也越来越大。机器人配备单一的传感器如声纳等现已无法满足高精度的自主导
随着当前IT技术、电子商务及互联网的快速发展和迅速普及,导致在各个应用领域的数据库中存储了大量的数据,这些数据集中包含了很多有用的知识,因此如何发现各种大型数据库中
机器人足球比赛是人工智能和机器人学研究的一个新的标准问题,它以多智能体系统(MAS)和分布式人工智能(DAI)为主要研究背景,其研究的主要目的就是通过提供一个标准的、易于评