首页> 中文学位 >交互式通用程序理解工具的研究
【6h】

交互式通用程序理解工具的研究

代理获取

目录

文摘

英文文摘

声明

第一章前言

1.1研究背景和意义

1.2国内外研究现状

1.3主要工作

1.4论文结构

第二章程序理解概述

2.1软件逆向工程与程序理解

2.2程序理解的重要性

2.3程序理解任务

2.4程序理解研究的内容

2.5程序理解方法工具

第三章交互式通用程序理解工具设计

3.1交互式通用程序理解架构

3.2本文主要解决的问题

3.3词法分析器

3.3.1词法分析器简介

3.3.2词法分析器工具LEX

3.4语法分析设计

3.4.1语法分析方法

3.4.2 LL(1)文法概述

3.4.3文法的LL(1)等价变换

3.4.4构建LL(1)的语法分析表

3.4.5 LL(1)文法分析器

3.5高级概念化抽象文法

3.6语义关联描述

第四章部分功能实现及算法

4.1 Observer设计模式描述

4.2词法分析

4.2.1实现方法

4.2.2 LEX规范

4.3语法分析类的实现

4.3.1语法单元类的构造

4.3.2语法论域分析

4.3.3语法分析类库的构造

4.4语法分析

4.5文法抽象实现的算法

4.6语义关联

第五章结论与展望

1总结

2进一步工作

3展望

参考文献

致谢

附录

展开▼

摘要

软件系统理解用于软件维护、软件测试、软件再工程和软件复用等多个软件工程领域,其目的是通过了解系统本身、系统专家和系统历史,得到系统全面而详细的信息。在很多情况下,软件系统完整可靠的信息是其程序代码,其他信息必须由此导出,因而程序理解是系统理解的重要形式(甚至是主要形式)。 程序理解是一种需要高度智力活动的过程,其效率取决于所理解的程序、理解人员的领域经验和所采用的辅助机制。逆向工程是重要的程序理解辅助手段之一,通过收集程序数据,按照一定的数据模型加以组织和管理,并将程序信息表达成抽象视图辅助用户浏览分析程序。 因此,本论文着重探讨和研究基于文法高级概念化抽象的程序理解,方便用户从不同层次不同方面来得到源程序的设计意图,实现语言平台的无关性。 本文中词法分析使用LEX工具,进行封装生成动态库。语法分析采用自顶向下的LL(1)预测分析方法。程序理解过程中采用语法类库、语义子程序库,这使得它具有很好的开放性和适应性;采用观察者模式提供相应的理解模型,帮助用户准确、迅速、全面、多层次地理解软件系统。 综上所述,本文在程序理解工具的通用性和可扩展性方面进行了探索和研究,具有一定的理论意义和实用价值;对程序理解的集成开发环境的研究有一定的意义。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号