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

来源 :吉林大学 | 被引量 : 0次 | 上传用户:yuzhiwei00
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序分片是一种程序抽取技术,对于程序分析、程序理解以及软件工程的各个领域都很有帮助。自从1979年被提出以来,程序分片受到人们的广泛关注,目前它的技术已经很成熟。特别静态分片和动态分片部分,算法很多,且已经十分成熟。它的主要算法有 Mark Weiser 提出的数据流等式算法,K.J.Ottendtein和L.M.Ottendtein以及Horwitz 提出的基于依赖图的图可达性算法,Bergeretti提出的信息流算法等。随着静态分片技术的不断成熟,人们开始研究分片的新领域,首先提出针对不同语言的分片算法,如Larsen和Harrold的针对C++语言的图的可达性算法,Kovacs et al 和Zhao修改后解决JAVA系统特殊机制的方法;其次对分片的概念加以扩充,出现了条件分片,无定型分片等概念。这些方法和概念的提出,把分片带到了更加广阔的领域。随着面向对象语言的广泛应用,人们开始研究针对面向对象语言的分片技术。但是面向对象语言存在着一些特殊的机制,如继承、多态、动态绑定等,传统的分片方法已经不能解决这些问题。旧的方法需要改进,人们提出了一些方法解决这些问题。按照目前的研究状况,针对面向对象语言的分片技术基本成型,它的主要方法是在图的表示上作一些修改,用图形来表示上述提到的各种机制。算法基本成熟,但是比较成形的工具还很少;另外针对JAVA语言的分片技术还属于方法的提出阶段。基于这样的情况,我们决定开发一个针对JAVA语言的分片系统,它能处理JAVA语言的各种特殊机制,并且高效。条件分片是一个新提出的概念。静态分片不考虑输入情况,是一种完全静态的抽取,这样得到的结果很大,而动态分片考虑所有的输入,在确定一种输入的情况下,它能得到唯一的一个分片结果。人们发现这两种分片都很极端,而通常人们的需求是一定条件下程序的抽取结果,这是就引出了条件分片的概念。它介于静态和动态分片之间,是程序分片下一步的研究重点。这个概念提出没有多长时间,技术还不成熟,于是我们在自己的系统中加入条件分片的技术,并且对所处理的语言进行一定的条件分片的处理,希望这是一个好的开端,在接下来的研究中,逐步完善系统中条件分片的算法,使条件分片的算法逐步完善。 <WP=61>本系统分为两部分,首先完成针对JAVA语言的静态分片,采用的是基于JAVA的系统依赖图(JSDG)的可达性算法;然后完成条件分片的部分处理,因为条件分片可以利用第一步中静态分片的结果,所以我们在这里分开处理上述两部分。在JAVA的静态分片处理中,我们对JAVA 语言的基本的类型,大多数的机制都进行了处理。主要完成以下工作首先针对源程序进行预处理,得到源程序的各个语句的标记,这是JSDG和源程序的桥梁。建造JSDG,在此过程中,通过各个边和节点可以把JAVA语言中的程序结构、机制表示出来,本过程的结束得到的是源程序的图形表示。根据用户输入的分片准则采用分片的算法,得到基于图形的分片结果。转换。要把图的结果转化为程序的结果。第二大部分是条件分片处理部分,我们采用类型程序的部分求值技术和符号约束求解相结合的方法。首先用户给出程序的一些条件集,这些条件给出了部分变量的取值范围值。然后根据已知变量的范围值来求出未知变量的范围值。最后根据求出的变量范围值来对JAVA语言的条件表达式进行判断,如果能够判断出来则留下相应的分支,否则全部保留。在论文中,我们详细的介绍了条件表达式的文法,条件判断的简单文法和判断方程,并给出确定表达式取值范围的函数,针对不同的程序语句给出处理,并给出结构流图。本系统采用的开发工具是编译的自动生成工具ACCENT和VC++,ACCENT 自动进行词法分析、语法分析,可以在文法的任意部位插入语义动作,这样我们在语义动作中完成JSDG的建造。本系统的特点是解决了JAVA语言中的特殊机制,给出了处理对象的准确方法,在分析数据流的时候,通过建造定义性变量表来记录变量的临时信息,查找数据流关系的时候可以通过查表找到相关的语言;同时建造类表和函数表,寻找类间和函数间的关系时就可以通过查表来找到相关信息。采用的方法简单,效率较高。在条件分片部分,提出了自己的方法。 <WP=62>本系统还有很多没有完成的工作。比如JAVA语言的复杂数据结构—数组、JAVA的异常和多线程都没有进行处理,条件分片的研究还属于初步,实现的结构还很少。在接下来的工作中,这些都是重点,我们的目标是要建成一个全面的、精确的JAVA的分片系统。本系统的重要意义在于实现了面向对象语言的分片技术,并把研究扩展到比较新的条件分片领域,这是程序分片技术的下一步的研究重点,也是我们工作的重点。目前本系统还属于试验性质,但对于JAVA语言还是能够得到比较准确的分片结果。我们希望在此基础上继续研究,开发出全面的、精确的JAVA语言的分片系统工具。
其他文献
  本文的研究目标就是从数据集合中挖掘出基于距离的例外集合。  首先,对传统例外算法做了研究,根据需要挖掘的实际数据的情况,我们选择了基于距离的例外挖掘方法。提出了改
信息咨询的口语对话系统是当前对话系统研究的热点,对话管理是对话系统的核心技术之一。本文在对话管理的基础理论、具体方法和实际应用等方面都进行了深入的研究和积极的实践
为了保障贵州省公安信息网的良性运行,信息网络安全成了迫切需要解决的问题.为此本文对以下几个方面进行了分析和说明:公安信息网是以TCP/IP协议为基础的Intranet网,主要提供
计算机通信技术、微电子技术的发展推动了信息革命,网络化、数字化成为它的技术特点.信息化把人们带进了高速度、多媒体、智能化、个人化、全球一体的信息环境,使人们跨入数
随着计算机和互联网的发展,在自然语言处理领域,以双语(或多语)平行语料库为基础的应用日益增多。除机器翻译方面的应用之外,平行语料库的建设对于双语词典编纂、词义消岐和跨语
随着网络应用的增多和Web服务技术不断完善和发展,越来越多的企业和组织选择将自己的业务以Web服务的形式提供到网上,以方便用户和其他应用服务的调用.但是随之而来的安全问
室内定位技术是指在室内环境下获得移动终端的位置信息,并提供给移动用户或通信系统的相关技术。以GPS为代表的室外定位技术发展越来越完善,但是,该技术在室内环境下无法实现
基于图像的建模和绘制技术IBMR(Image Based Modeling and Rendering)是近年兴起的一种表示和绘制具有照片真实感的虚拟场景的方法.其主要特点是绘制复杂度与场景的复杂度无
该文首先概述了计算机信息泄漏及计算机视频泄漏信息截获技术,对几种常用的数字图像去噪方法进行了比较分析.重点分析了小波变换的特点,对多分辨率分析和Mallat算法作较为详
在当今的信息社会中,企业的国际国内交流迅猛增加,以最快、最经济的方式获取和发出信息,已成为企业把握商机、竞争成败的关键。随着Internet 技术的发展,电子邮件(E-mail)作为INT