一种java语言的程序分片技术

一种java语言的程序分片技术

ID:5806584

大小:2.76 MB

页数:67页

时间:2017-12-25

一种java语言的程序分片技术_第1页
一种java语言的程序分片技术_第2页
一种java语言的程序分片技术_第3页
一种java语言的程序分片技术_第4页
一种java语言的程序分片技术_第5页
资源描述:

《一种java语言的程序分片技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、论文分类号:TP31单位代码10183密级:内部研究生学号2001532091吉林大学硕士学位论文一种JAVA语言的程序分片技术ATechniqueofProgramSlicingBasedonJAVA作者姓名:潘海燕专业:计算机应用技术导师姓名张长海及职称教授论文起止年月:2002年10月至2004年4月提要程序分片是一种程序抽取技术,它对于程序理解、程序分析和软件工程等领域有很重要的作用。自从程序分片被提出以后,一直是人们研究的重点,针对它的方法也有很多。目前程序分片的重点已经转移到针对不同的语言的分片技术,以及程序分片形式的多

2、样化中。但是由于各种语言的机制不同,分片的技术也不相同。针对面向对象语言的分片还没有很完整的方法,工具更少。同时条件分片是新提出地概念,它的技术还不是很成熟,特别是国内对这方面的研究还很少。我们研究了针对JAVA语言的静态分片技术以及条件分片技术。静态分片技术是在已有的方法基础上进行了改进,基本实现了面向对象语言的特殊机制。条件分片技术是我们下一步研究的重点,在本文中我们提出了类似于部分求值技术的方法,并给出了形式化的描述。两种分片技术通过结合,可以得到条件分片的结果。本文提出了JAVA语言的静态分片和条件分片算法,实践表明这些技术

3、是可行的,它为进一步研究JAVA语言的异常和多线程以及条件分片奠定了基础。目录目录第一章前言11.1程序分片11.2程序分片技术的发展史11.3程序分片的分类11.4程序分片的应用41.5研究的现状41.6预备知识61.7本文完成的工作7第二章程序分片方法92.1数据流等式方法92.2图的可达性方法102.3面向对象的分片10第三章条件分片113.1条件分片的概念113.2条件分片的应用113.3条件分片的方法12第四章JAVA语言的静态分片系统实现方法134.1JAVA语言的静态分片准则134.2系统采用的方法13第五章条件分片算

4、法285.1JAVA语言的条件分片分析方法28-2-目录5.2预备知识285.3采用的技术315.4具体处理335.5条件方法的实现34第六章JAVA语言的分片实现366.1处理的语言366.2实现环境366.3数据结构366.4分片算法416.5依赖图到分片后程序的转换466.6今后的工作47结束语48附录49参考文献52致谢中文摘要Abstract-2-前言第一章前言1.1程序分片程序分片技术(programslicing)是很重要的技术,它的应用很广泛,主要应用到软件维护、程序调试、测试、代码理解以及逆向工程等领域。程序分片技

5、术最早应用到程序调试中,在调试的时候,当错误特征出现时,我们希望能够通过一种手段,找到可能产生该错误的源代码部分。我们或许不能对这样的源代码准确定位,但我们可以做到通过剔除程序中不可能产生该错误的部分,而把错误限定在一个较小的范围中。程序分片就是一种有效实现上述目的的技术。1.2程序分片技术的发展史程序分片(programslicing)这一概念最早是由MarkWeiser[11]在1979年提出,此后出现了许多略有不同的定义以及用于计算分片的算法。大体上说,程序分片技术的发展经历了从静态到动态、从前向到后向、从单一过程到多个过程、

6、从非分布程序到分布式程序等几个阶段。SHorwitz[2]等人给出的程序分片定义是:“一个程序分片是由程序中的一些语句和判定表达式组成的集合。这些语句和判定表达式可能会影响在程序的某个位置(常用行号标识)p上所定义的或所使用的变量v的值。(p,v)称为分片准则(slicingcriterion)”1.3程序分片的分类Ø静态分片技术(staticslicing)静态分片技术是指在计算程序分片时使用的是静态的数据流和控制流分析方法。该技术对程序的输入不做任何假设,所做的分析完全以程序的静态信息为依据。使用该技术的工作量较大,因为要分析程

7、序所有可能的执行轨迹,所以相对于动态分片技术,静态分片技术一般用于程序理解与软件维护方面。Weiser-51-前言最初提出的程序分片概念就属于静态分片范畴。图1是一段决定三边长的代码,准则为r的静态分片请参见图1(a),静态分片结果即是程序本身。Ø动态分片技术(dynamicslicing)动态分片技术使用的是动态的数据流和控制流分析方法,因此分片的计算过程依赖于程序的具体输入。采用这一技术,每一次的计算工作量较小,但每一次的计算都不尽相同,因此动态分片技术多用于程序调试、测试方面。请参见图1(b)。Ø条件分片(conditione

8、dslicing)目前对程序的理解主要有两种方法:静态分析或者是动态分析。但这两种方法都有些过于极端,前者对程序的理解只局限于对程序源代码的分析,获得的是静态信息,过于片面;后者对程序的理解则以程序多次运行的测试结果为基础,这些测试结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。