运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统.ppt
《运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统.ppt》由会员分享,可在线阅读,更多相关《运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统.ppt(42页珍藏版)》请在三一文库上搜索。
1、运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统,刘建宾 博士、教授 软件工程创新团队带头人,学科负责人、系主任 北京信息科技大学软件工程研究与开发中心,摘要,案例简述 达到目标 案例背景 成功要素与经验 案例实践与结果展示 失败经历与尝试 案例ROI分析 案例启示 进一步的工作与打算,运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统,案例简述 采用自主研发的代码逆向模型自动化技术与工具,通过代码词法语法扫描分析,结构分析、模型格式化转换,中英文名字映射表构造,以及自然动作汉语语义描述的自动变换等步骤,将大型开源OpenCMS和十余个遗产软件系统的JAVA程序代码自动逆向变换为
2、可视化类图和过程蓝图(程序蓝图)模型,将JAVA程序语句自动逆向变换为自然动作模式语言汉语描述 自动构造分层抽象的程序蓝图的视图模型,以直观图形和自然易懂的汉语分层揭示程序代码中隐含的模块结构、算法思想、及其设计与实现细节; 降低阅读理解程序的复杂性和难度,提高学习和维护工作效率5倍以上。,开源软件源代码,程序蓝图可视自动化逆向工程,类图,过程蓝图,中文代码,其他源代码资源,遗产系统源代码,教学程序源代码,项目开发源代码,英文代码,运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统,b) 达到目标 自动扫描JAVA源码进行词法语法分析并变换为JAVA蓝图模型文件格式; 采用三维程序蓝图(
3、类图+过程蓝图)可视化表示类模块结构及其类方法的算法过程模型; 运用程序变换工具自动生成概念和逻辑层动作语义的自然汉语描述; 自动对程序蓝图模型的概念、逻辑和实现三层视图进行分层抽象和可视化展示; 通过中英文标识符名字映射技术,支持程序模型的中文本地化表示; 运用文档生成工具批量自动生成项目程序蓝图模型文档; 自动从程序蓝图模型正向生成程序的中英文框架代码和完整代码 通过文本自动对比验证技术,保证模型与代码的一致性,运用代码模型自动化逆向工程技术高效理解开源和遗产软件系统,谁-北京信息科技大学软件工程研究与开发中心,案例背景 北京信息科技大学是由原北京机械工业学院和北京信息工程学院(原北大二分
4、校)合并组建,北京市重点支持建设的全日制普通高等学校。 软件工程研究与开发中心是原电子部1983年批准成立的重点科研机构,曾担任多项“六五”至“九五”等国家重点科技攻关项目,以及多项军用软件工程项目的研究与开发,起草多项国家标准,多项成果曾受国家和部委的表彰,为我国软件产业的发展做出重要贡献。 与国家信息产业主管部门密切协作,以标准化和创新成果带动软件技术发展是中心长期以来形成和坚持的特色。 中心的主要任务是以国家软件工程建设需求为导向,继续参与国家重大的软件工程课题和各类纵横向项目的研究与开发,为IT企业和高校师生提供软件工程新技术服务,带动教学和科研水平的提高,建设成为软件工程新技术的研发
5、基地、“产学研用”一体化人才培养基地、科技成果转化、应用推广和产业化基地、知识创新基地。 中心主要从事软件工程标准制定、模型驱动软件工程理论与方法的研究、程序代码模型可视自动化逆向工程服务、软件工程项目开发,人才培养、技术培训、知识创新与出版等方面的工作。,程序代码理解是学习开源软件和维护遗产系统的基础和前提。复杂程序代码阅读理解周期长,效率低、工作量投入大和成本高的老大难问题一直未能得到有效解决。大量开源软件和遗产系统的程序代码资源有学习理解和维护的实际需求和迫切需要。 软件工程创新团队在软件可视自动化工程技术领域已持续开展近二十年的研究工作,先后有100多人参与研发,培养了30余名硕士生和
6、50余名本科生,发表系列专题研究论文60余篇(其中核心期刊论文30余篇,EI检索论文10余篇),在科学出版社出版理论性学术专著1部,原创编程思维导向图(抽象概念结构图)、JAVA蓝图、C+蓝图等过程蓝图建模语言及其模型驱动程序理论与方法,在正向工程、逆向工程、模型重构、算法模式、再工程等技术方向取得创新性理论研究成果。 提出自然动作模式语言及其语言驱动程序技术,在自然动作模式语言与编程语言间的双向转换技术方面找到快速实用的模式匹配自动转换方法,研制系列模型驱动软件工具与环境,开发语言驱动程序自动变换系统,在蓝图模型和自然动作模式语言的自动变换关键技术方面获得突破性进展。 经过大量测试与案例试验
7、,并在大型OpenCMS、Sweet Home3D、violet等多个开源软件的学习和十余个遗产软件系统的维护工作中得到成功应用,显著提高软件开发与维护效率。 不断将最新原创科研成果引入课堂,近十年来先后为汕头大学、北信科大和北航的2000余名本科和研究生新开“模型驱动程序设计方法学”、“模型驱动开发”等8门前沿特色课程,程序蓝图开发工具在教学中得到持续测试与应用,不断得以改进和完善。,哪来的创新团队多年潜心研究与开发的原创成果,怎么做到的,成功要素与经验分享 程序代码向蓝图模型成功转换的关键是需要有一个可靠稳定和功能全面的词法语法分析扫描器 分析类间关系是类图建立的技术难点和关键 信息过滤和
8、抽象技术是实现分层抽象程序视图模型的基本方法 程序蓝图模型、动作模式语言与变换规则的严格形式化定义是实现自动化处理和变换的基础和前提条件 构造中英文标识符名字映射对照表是支持中文化模型界面和实现中英文表示双向映射的基本条件,对照表的规模与模型中文化支持率成正比,中英文名字命名质量对程序的可理解性有重要影响 从逆向模型自动重新生成程序代码的正向转换技术和代码文本自动对比验证技术是保证逆向模型与代码一致性的有效方法,案例实践与结果展示 案例1-大型开源软件OpenCMS程序蓝图模型可视自动化逆向工程,OpenCms是一个基于JAVA EE平台的开源内容管理系统,由德国的Alkacon Softwa
9、re公司负责开发和维护,可以非常平稳的运行在各种开源(Linux、Apache、Tomcat、MySQL等)和商业环境(Windows、BEA Weblogic、Oricle等)中 OpenCms是一个完全免费的开源软件,使用它不需要支付任何许可费用,利用它可以非常容易的创建、维护和管理复杂的大型网站 OpenCms是具有企业级软件品质的开源软件,全球各地均有专业公司提供技术服务支持 OpenCms是一个大型开源软件,V8.5.1.0核心版源代码拥有56643个标识符,18552个方法,1508个类和111个包,源码包规模21.5M,实践 1.1-OpenCMS的功能概要模型-CIM,实践 1
10、.2- OpenCMS的org.opencms.db.mysql包源代码逆向可视自动化产生的实现类图模型-PSM,实践 1.3- OpenCMS的org.opencms.db.mysql包源代码逆向可视自动化产生的逻辑类图模型-PSM,实践 1.4-OpenCMS的org.opencms.db.mysql包源代码逆向可视自动化产生的概念类图-PIM,实践 1.5-三层抽象类图逆向变换过程,文本自动对比验证,自动生成,自动生成,词法语法分析,从类图模型重新生成的类中文框架代码,概念层-PIM,逻辑层-PSM,实现层PSM,框架信息提取模型格式变换标识符变换,信息过滤,信息抽取,格式转换,属性方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运用 代码 模型 自动化 逆向 工程技术 高效 理解 遗产 软件 系统
链接地址:https://www.31doc.com/p-3674298.html