面向对象程序等价转换技术的研究与应用

来源 :广东工业大学 | 被引量 : 3次 | 上传用户:ash0
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序的等价转换技术在程序的分析评价中有着广泛的应用前景。由于目前程序分析评价主要停留在程序输出结果的比较阶段,未深入到程序的结构层次分析,以发现程序之间存在的语义差异。另外,在已有相关方面的研究中,程序分析评价的目标语言仅限于函数式语言或命令式语言,尚未涉及到面向对象语言的等价转换研究。本文研究基于面向对象程序的等价转换技术及其在程序分析评价中的应用。程序的等价转换技术是以程序语义等价性为理论基础,程序语义的等价性包括执行语义等价、结构语义等价和似结构语义等价。具有等价似结构语义的源程序之间可以作相互转换。由于使用面向对象语言设计的程序具有明显的层次性,在对这类程序进行等价转换时,分以下三个层次进行:程序级等价转换、类级等价转换和方法级等价转换。程序级等价转换主要是针对程序中类之间存在继承关系而进行的程序标准化处理过程,通过对继承关系的消除,可以显式地表达每个类所包含的所有信息。类级等价转换主要是针对每个类中的成员方法之间的相互调用关系进行的程序标准化处理过程,通过对调用关系的消除,可以直观表达每个成员方法中所包含的所有信息,同时,还需要消除类中存在的冗余方法,简化类的构成。方法级等价转换主要是针对程序在语句表达上的多样化而进行的程序标准化处理过程,通过对程序中的语句进行赋值标准化、表达式标准化和控制结构标准化来消除每个方法中语句表达的多样化问题。在面向对象程序等价转换技术的基础上,提出了一个JAVA程序自动测评系统的框架,并实现了系统原型。在该系统中,使用ANTLRWORKS构造一个以AST为中间代码的JAVA语言解析器。在AST基础上,对程序结构进行分析,并引入C&K和MOOD等著名的面向对象的度量体系对程序进行度量,并生成用于分析程序的各种图形表示。然后按程序级保留语义的等价转换、类级保留语义的等价转换和方法级保留语义的等价转换共三个层次对程序进行保留语义的等价转换,最终生成在语义上可以比较的程序依赖图,应用相关算法实现对程序的比较与评价。
其他文献
网络测量作为一种收集网络运行数据和分析网络协议运行状态的重要手段之一,在帮助网络管理人员分析网络异常的原因方面发挥了重要的作用。由于基于数据包捕获的被动流量监测
伴随着计算机技术的飞速发展及芯片集成度的提高,内存越来越大且价格越来越低,使得在内存中存储较大的数据变得可行。同时内存数据库技术应运而生,并且在一些工业控制等实时
曲面重构是逆向工程研究的重要内容之一,散乱数据点的曲面重建一直以来都是函数逼近论的一个重要研究内容。本文从散乱数据曲面重构的实际需要出发,对散乱数据曲面重构的相关
随着网络信息的剧增,网络上的信息重复性很大。同一主题的相关文档通常是成千上万,它们的内容相似,但又有所不同,各有侧重点。人们迫切需要一种能够以简洁连贯的语言提供同一
智能交通系统(ITS)是目前世界交通运输领域正在研究和广泛关注的课题。近年来,智能交通系统的应用给交通运输业带来了巨大的经济效益,对于道路设计、流量监控和高速公路管理
近年来,随着构件技术的不断发展,Internet上出现了越来越多的构件库,为构件使用者提供了大量优秀构件。但是,现行构件库大多使用不同的描述方法对构件进行描述,存在构件访问
多光方法在解决全局光照问题中提供了一个非常通用的框架,使得我们可以使用数十万以上的虚拟点光源来绘制出多种不同的特效。在一个很大的虚拟点光源集合中,每个虚拟点光源的
随着现代信息科技的进步,电子纸显示技术的不断改进,电子纸手持阅读器的可用性得到了一定程度的提高。但目前手持阅读器依然未能得到普遍接受,批评者指出了与传统纸质书阅读
近年来,随着互联网技术的高速发展,软件服务产业发生了重大变革。软件应用需求持续深化,新的计算机技术和新的软件模式不断涌现,呈现了明显的服务化和网络化的发展趋势。软件
随着计算机控制技术及网络技术的发展,人们对工业现场总线与Ethernet的整合提出了新的要求,希望通过现有的技术使工业管理深入到现场总线。控制器局域网Controller Area Netw