基于OOML的逆向工程工具OBRET的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:luoqiuqiu80
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件复用以已有工作为基础,充分利用了开发以往系统过程中积累的知识和经验.很多情况下,系统完整可靠的信息是程序代码,其他信息必须由此导出.因此,程序理解是已有系统成功演化的关键之一.面向对象方法已趋向成熟,随着设计模式、框架等技术的使用,面向对象程序的维护和演化技术更加受到软件工程界的关注.逆向工程是重要的程序理解辅助手段之一.它收集程序数据,按照一定的数据模型加以组织和分析,识别系统构件及其之间的交互关系,并将抽取的信息表达成抽象视图来辅助用户理解系统.统一建模语言UML(Unified Model Language)的提出和发展促进了逆向工程的发展.已有的大多数逆向工具都采用定制的软件系统,重复了大量的基本工作(如分析源代码),并且用户界面不统一,难于与其它工具集成.可扩展标记语言XML(Extensible Markup Language)可作为表示软件系统构件及其关系的通用中间格式,为上述问题提供了一条解决途径.国际上提出了多种用XML格式表示源代码数据的方法,但是这些方法都需要对源代码进行完整的语法分析,建立完全的抽象语法树AST(Abstract Syntax Tree).因此,它们属于重量级的方法,同时不具有容错性.该文详细介绍了如何采用一种轻量级、灵活而又有容错性的方法来建立逆向工具.这种方法的核心在于用一种基于XML的通用中间格式面向对象标记语言OOML(Object-Oriented Markup Language)为程序建立概念模型,然后在此基础上进行信息抽取、分析和显示.目前实现了基于OOML的逆向工程工具OBRET(OOML-Based Reverse Engineering Tool)的Java语言版本OBRET-Java.它不仅能从源代码中恢复系统视图,生成逆向文档,还可以以一定的规则抽取候选的设计模式实例.
其他文献
随着计算机技术和网络技术的发展与成熟以及各国对教育重视程度的增强,网络教育在世界各国日益普及。获取信息的途径已由教室、实验室和图书馆,扩展到因特网所覆盖的任何场所。
随着计算成本的大幅降低,各种模拟器技术被广泛地用于嵌入式系统的设计与开发,此项技术对于降低设计成本、工程时间开销有着显著的成效.但是现有嵌入式操作系统开发中系统级
NetworkEducationalResourceManagementSystem(NERMS)项目是由吉林省科委立项、吉林大学计算机科学与技术学院知识工程实验室承建的省级重大大中型项目。NERMS的主要目标是对
集群是由一组通过高性能网络互联起来的计算机系统(节点计算机)组成的、具有单一系统映象的高可用、高性能、高可扩展性的计算机系统.集群的发展与集群并行计算环境的发展是
指纹鉴别技术作为一种身份鉴别方法,是各种人体生物特征鉴别技术(Biometrics)中最重要的一种.通常该技术面向应用时,首先通过指纹传感器采集指纹,再根据实际需要在选择好的处
流程制造企业在中国国民经济中占有相当重要的地位,是中国提高经济实力和综合国力的根本.随着信息技术的发展,ERP软件在中国的制造企业中得到了越来越广泛的应用,对提升企业
数字监控系统正在朝着网络化的方向发展,在带宽有限的情况下,要保证较好的视觉效果,必然对编码和传输提出了更高的要求.该文针对这一需求,着重从MPEG-4编码算法的改进和自适
演化硬件(Evolvable Hardware),简称EHW,是90年代提出的一种新的硬件设计方法,它具有自组织、自适应、自修复能力.演化计算为演化硬件提供了理论与方法学基础,可编程集成电路
Internet的迅速发展,己使它成为全球最大的分布式信息库.用户在享受它方便和快捷的同时,也为它所包含的庞大芜杂的信息所淹没,往往为了找到自己需要的信息花费大量的时间和精
人类自诞生以来就从未停止过对世界的认识,但是至今仍然不能对诸如文化发展、经济兴衰、意识产生、生态平衡等来自社会系统、经济系统、生物系统、生态系统中的众多复杂现象给