论文部分内容阅读
当今的时代是一个计算机技术迅猛发展的时代,人们的生产和生活都离不开众多的软件系统,软件系统的数量与规模在不停壮大的同时,复杂程度也伴随着软件系统的进步而越来越高。许多传统的程序分析手段已经不能满足我们的需求,我们需要更多了技术与工具来帮助我们完成程序分析的工作。所以,程序分析已经成为了软件领域中非常重要的组成部分,我们需要更多的人投身于程序分析的研究工作中。在众多的程序分析技术中,程序切片技术是其中一项非常重要组成部分。程序切片是一种程序分解技术,由Mark Weiser提出来的一种重要的程序分析理解方法。程序切片这种程序分析方法在实际的生产和研究方面已经得到非常广泛的应用。程序切片技术在对程序的分析理解、调试和测试等领域都非常多的应用,不仅如此,程序切片技术在软件系统的维护和度量等方面也提供技术上的支持。基于依赖图的图可达性算法的程序切片是目前的程序切片方法中的主要算法,本文选用的方法是基于信息流分析技术的切片方法。信息流分析技术在程序优化、程序静态分析、程序测试等许多方面都有着重要的应用,应用领域的不同,分析数据的属性也不同。本文是通过对程序中变量值的获取与传播的分析,进而描述变量与表达式、表达式与变量、变量与变量之间的关系,利用这样的分析方法来对程序进行切片。程序切片技术在实际的开发和维护过程中,可以帮助开发和测试人员更好的理清程序结构和作用,对简化程序和创造出更优质的程序提供了技术上的支持,也大大提高了工作的效率。如今的编程语言不断趋于简单化和人性化,在功能性方面越来越强大,而复杂程度也变得更高。为了适应编程语言的不断进步,程序切片技术也应该不断的提高。本文中介绍了程序切片技术方面的一些相关知识,也介绍了不同类型的程序切片方法,以及如何对源程序进行程序切片,并进行了举例说明。传统的切片方法中,有许多不足的地方,本文提出的一种基于信息流分析的程序切片方法,这种方法是通过对变量进行跟踪,关注的是变量与变量以及表达式之间的关系,由此可以更加准确的根据变量的特征来进行程序切片,极大的优化了传统切片,减少了许多不确定因素引发的错误。