学位论文 > 优秀研究生学位论文题录展示

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

作 者: 罗玉玲
导 师: 何锫
学 校: 长沙理工大学
专 业: 计算机软件与理论
关键词: 程序理解 文法 源代码分析 程序理解工具 遗产软件
分类号: 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

相似论文

  1. 面向统计机器翻译的解码算法的研究,TP391.2
  2. 基于条件随机场的RNA二级结构预测算法,R346
  3. 程序理解中支持多语言理解与信息提取技术的研究,TP311.52
  4. 水土保持措施对水资源的影响研究,S157
  5. 现代性视域下的“五四”文学革命,I206.6
  6. DNA计算中若干问题的研究,TP301
  7. 汉语语音识别中语言模型的并行优化,TN912.34
  8. 可视化技术在操作系统教学中的应用,TP316-4
  9. 领域词典的构建及其在语法分析中的应用,TP391.1
  10. 结构化支持向量机学习方法及应用研究,TP18
  11. 汉英双向时间数字和数量词的识别与翻译技术,TP391.2
  12. 基于G++前端的C++源代码分析系统的研究与设计,TP311.52
  13. 语种识别中的隐含语义分析,TN912.34
  14. 基于逻辑回归模型的垃圾邮件过滤系统的研究,TP393.098
  15. 关于CKY句法分析效率的实验性研究,TP301.6
  16. 基于攻击文法的网络攻击建模和攻击序列分析,TP393.08
  17. 一种基于领域本体的程序理解方法研究,TP311.52
  18. 基于LPCFG的中文句法分析,TP391.1
  19. 特定领域环境下软件切片技术的研究,TP311.52
  20. 依赖分析在程序验证和遗留系统改造中的应用,TP311.52
  21. 方面挖掘算法及其在程序理解中的应用研究,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com