学位论文 > 优秀研究生学位论文题录展示
交互式通用程序理解工具的研究
作 者: 罗玉玲
导 师: 何锫
学 校: 长沙理工大学
专 业: 计算机软件与理论
关键词: 程序理解 文法 源代码分析 程序理解工具 遗产软件
分类号: TP311.52
类 型: 硕士论文
年 份: 2007年
下 载: 58次
引 用: 1次
阅 读: 论文下载
内容摘要
|
软件系统理解用于软件维护、软件测试、软件再工程和软件复用等多个软件工程领域,其目的是通过了解系统本身、系统专家和系统历史,得到系统全面而详细的信息。在很多情况下,软件系统完整可靠的信息是其程序代码,其他信息必须由此导出,因而程序理解是系统理解的重要形式(甚至是主要形式)。程序理解是一种需要高度智力活动的过程,其效率取决于所理解的程序、理解人员的领域经验和所采用的辅助机制。逆向工程是重要的程序理解辅助手段之一,通过收集程序数据,按照一定的数据模型加以组织和管理,并将程序信息表达成抽象视图辅助用户浏览分析程序。因此,本论文着重探讨和研究基于文法高级概念化抽象的程序理解,方便用户从不同层次不同方面来得到源程序的设计意图,实现语言平台的无关性。本文中词法分析使用LEX工具,进行封装生成动态库。语法分析采用自顶向下的LL(1)预测分析方法。程序理解过程中采用语法类库、语义子程序库,这使得它具有很好的开放性和适应性;采用观察者模式提供相应的理解模型,帮助用户准确、迅速、全面、多层次地理解软件系统。综上所述,本文在程序理解工具的通用性和可扩展性方面进行了探索和研究,具有一定的理论意义和实用价值;对程序理解的集成开发环境的研究有一定的意义。
|
全文目录
摘要 5-6 ABSTRACT 6-9 第一章 前言 9-14 1.1 研究背景和意义 9-10 1.2 国内外研究现状 10-12 1.3 主要工作 12-13 1.4 论文结构 13-14 第二章 程序理解概述 14-20 2.1 软件逆向工程与程序理解 14-15 2.2 程序理解的重要性 15-16 2.3 程序理解任务 16-17 2.4 程序理解研究的内容 17-18 2.5 程序理解方法工具 18-20 第三章 交互式通用程序理解工具设计 20-35 3.1 交互式通用程序理解架构 20-22 3.2 本文主要解决的问题 22-23 3.3 词法分析器 23-26 3.3.1 词法分析器简介 23-25 3.3.2 词法分析器工具LEX 25-26 3.4 语法分析设计 26-31 3.4.1 语法分析方法 26-27 3.4.2 LL(1)文法概述 27-28 3.4.3 文法的LL(1)等价变换 28-29 3.4.4 构建 LL(1)的语法分析表 29-30 3.4.5 LL(1)文法分析器 30-31 3.5 高级概念化抽象文法 31-33 3.6 语义关联描述 33-35 第四章 部分功能实现及算法 35-52 4.1 OBSERVER 设计模式描述 35-37 4.2 词法分析 37-40 4.2.1 实现方法 37-38 4.2.2 LEX 规范 38-40 4.3 语法分析类的实现 40-44 4.3.1 语法单元类的构造 40-41 4.3.2 语法论域分析 41-42 4.3.3 语法分析类库的构造 42-44 4.4 语法分析 44-46 4.5 文法抽象实现的算法 46-50 4.6 语义关联 50-52 第五章 结论与展望 52-55 1 总结 52-53 2 进一步工作 53-54 3 展望 54-55 参考文献 55-61 致谢 61-62 附录A 攻读学位期间发表论文目录 62-63 详细摘要 63-67
|
相似论文
- 面向统计机器翻译的解码算法的研究,TP391.2
- 基于条件随机场的RNA二级结构预测算法,R346
- 程序理解中支持多语言理解与信息提取技术的研究,TP311.52
- 水土保持措施对水资源的影响研究,S157
- 现代性视域下的“五四”文学革命,I206.6
- DNA计算中若干问题的研究,TP301
- 汉语语音识别中语言模型的并行优化,TN912.34
- 可视化技术在操作系统教学中的应用,TP316-4
- 领域词典的构建及其在语法分析中的应用,TP391.1
- 结构化支持向量机学习方法及应用研究,TP18
- 汉英双向时间数字和数量词的识别与翻译技术,TP391.2
- 基于G++前端的C++源代码分析系统的研究与设计,TP311.52
- 语种识别中的隐含语义分析,TN912.34
- 基于逻辑回归模型的垃圾邮件过滤系统的研究,TP393.098
- 关于CKY句法分析效率的实验性研究,TP301.6
- 基于攻击文法的网络攻击建模和攻击序列分析,TP393.08
- 一种基于领域本体的程序理解方法研究,TP311.52
- 基于LPCFG的中文句法分析,TP391.1
- 特定领域环境下软件切片技术的研究,TP311.52
- 依赖分析在程序验证和遗留系统改造中的应用,TP311.52
- 方面挖掘算法及其在程序理解中的应用研究,TP311.52
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com
|