首页> 中文学位 >基于逆向工程的代码重构与分析评估系统的设计与实现
【6h】

基于逆向工程的代码重构与分析评估系统的设计与实现

代理获取

目录

基于逆向工程的代码重构与分析评估系统的设计与实现

THE DESIGN AND IMPLEMENTATIONOF REVERSE-ENGINEERING-BASEDCODE REFACTORYING ANDANALYZING-EVALUATION SYSTEM

摘 要

Abstract

第1 章 绪论

1.1 课题的背景及研究目的

1.2 国内外研究综述

1.3 本论文的主要工作内容

第2 章 重构与分析评估系统的关键技术

2.1 基于语法解析的逆向工程

2.2 动态表达式求值

2.3 程序结构的模式匹配

2.4 本章小结

第3 章 重构与分析评估系统的设计

3.1 系统需求分析

3.2 系统总体功能模块划分

3.3 系统开发平台

3.4 系统架构

3.5 系统的数据结构设计

3.6 出错处理设计

3.7 主要功能类设计

3.8 本章小结

第4 章 重构与分析评估系统的实现

4.1 系统实现

4.2 系统效果验证

4.3 本章小结

结 论

参考文献

哈尔滨工业大学硕士学位论文原创性声明

哈尔滨工业大学硕士学位论文使用授权书

致 谢

个人简历

展开▼

摘要

随着软件项目的日益庞大,软件系统的维护也越来越困难。很多项目在经历了数个版本之后,往往已经面目全非,难以扩展和维护。重构概念的提出,为其指明了道路。但是,要想对于大型程序实施重构,依旧是困难重重。首先是源程序结构获得困难,大多数情况下,由于种种原因,相关文档已无法描述当前系统。这时,源代码便成为重构步骤中唯一可以获取系统信息的来源。但是,源代码的面向机器、不直观、没有层次性的特性,阻碍了软件开发人员从中获取信息的过程。另外,当程序代码量达到一定的规模之后,如果想从中找到某一个重构点,无异于大海捞针,需要对程序有着较深层次的理解。
  本论文利用基于LL(*)算法(一种采用了不定长预测表的自左向右扫描的词法分析算法)的ANTLR(一个通用的语法解析框架)技术,通过构建能够解析源文件语法的解析器,成功通过逆向工程获取了程序中的结构信息,并将之保存在数据库中。然后利用数据库强大的查询功能,辅以模式匹配的方式,可以从大量的结构信息中找出需要重构的地方,构建了重构系统,而且在重构之后,通过建立一套动态评价机制,以评估重构的能力。通过本系统,用户可以从海量的源代码中通过定义重构模式迅速找到软件代码中值得改进的地方。而且通过将软件代码纳入本系统的管理范围,可以有效的跟踪程序代码在哪些方面是否有所提升或者有所优化。
  本系统试图将数据库应用到程序结构信息的存储与查询中。借助于数据库的数据整合能力,可以有效提升程序的性能。其中的评估模块提供了对于文本描述的表达式的动态求解能力。另外,由于程序的重构定义与公式定义都允许用户进行定制扩展,这种极其柔性的扩展方式使得系统可以应用于更多的方面。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号