基于特征符号的程序理解研究

基于特征符号的程序理解研究

论文摘要

程序理解可以看作是从源码中提取系统设计概念的过程。程序理解活动贯穿整个软件生命周期,软件维护占用了大量系统成本和花费(35~80%),其中30~90%的维护工作是程序理解,包括程序维护、调试、结构重建、源码复用、程序排错、文档整理等。程序理解及相关工作已成为计算机领域发展最快的课题之一。 程序理解模式包括自上而下方式和自下而上方式以及两者的混合模式。自下而上方式是一种拼盘式方法,它从基本组件开始逐步组建上层概念,直至到达总体目标。Plan是程序段的模板,自动程序理解基本上都是基于Plan自下而上式的。这在理论上是可以实现的,但在实际应用中遇到了两大难题:库的组织方式与库空间的穷尽式搜索效率。 本文研究基于特征符号的自下而上自动程序理解模型,特征符号既被用于建立带索引、层次式Plan库,又被用作匹配项来建立粗、细两层匹配机制,并对结果进行相似性分析。采用特征符号在较大程度上提高了穷尽式搜索的检索效率,通过相似性分析又保证了以特征符号为匹配代理时的准确度。 本文的主要创新点包括: 1)提出一种基于特征符号的分层匹配算法,把匹配过程分作粗匹配和细匹配两步。粗匹配利用特征符号在整个Plan库上进行穷尽式搜索,以达到在保证查全率的前提下快速匹配到可能适配Plan的目标。细匹配在粗匹配的结果上通过增加包含更多信息的特征符号进一步匹配得到更精确的Plan集,缩小可能适配Plan集的范围。 2)提出一种基于模糊推理的相似性分析算法,在细匹配的结果上通过对适配Plan集按照与目标程序元相似程度进行排序,得到最相似Plan,达到提高分层匹配准确度的目标。 3)针对特征符号中的领域词汇单元提出一种基于信息检索的方法来自动跟踪中文文档和代码的关联,达到方便领域词汇提取的目标。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 研究背景
  • 1.2 研究现状
  • 1.3 论文工作
  • 1.3.1 研究思路
  • 1.3.2 主要创新点
  • 1.4 论文组织
  • 第二章 程序理解理论、策略和工具回顾
  • 2.1 人工程序理解
  • 2.1.1 人工理解主要模型和方法
  • 2.1.2 小结
  • 2.2 自动理解
  • 2.2.1 基于Plan程序理解
  • 2.2.2 其他程序理解策略和工具
  • 2.2.3 小结
  • 2.3 当前关于程序理解方法和工具
  • 2.4 抄袭中的相似性诊断
  • 2.4.1 Halstead:软件科学中的基本单元
  • 2.4.2 McCabe秩复杂性度量
  • 2.4.3 Harrison等:基于嵌套层次的复杂性度量
  • 2.5 本章小结
  • 第三章 基于逻辑表达式的PLAN辨识
  • 3.1 PR理论回顾
  • 3.2 概述
  • 3.2.1 PR的前提假设
  • 3.2.2 PR中的概念及其逻辑表达式形式
  • 3.2.3 PR中的假设及其逻辑表达式
  • 3.3 采用逻辑表达式消除非匹配PLAN
  • 3.3.1 自下而上式采用逻辑表达式消除非匹配Plan
  • 3.3.2 自上而下式采用逻辑表达式消除非匹配Plan
  • 3.4 本章小结
  • 第四章 基于特征符号PLAN库的构建
  • 4.1 程序中的特征符号
  • 4.1.1 特征符号的要求
  • 4.1.2 特征符号的分类
  • 4.2 一般PLAN表示方法
  • 4.3 基于特征符号PLAN库的建立
  • 4.3.1 程序段预处理
  • 4.3.2 元Plan库的建立
  • 4.3.3 层次式Plan库的建立
  • 4.3.4 Plan特征的提取
  • 4.3.5 带特征符号Plan库的建立
  • 4.4 本章小结
  • 第五章 基于程序元的程序特征符号抽取
  • 5.1 程序元的定义和使用
  • 5.2 基于程序元的程序中间形式转换算法
  • 5.3 程序转换算法实例
  • 5.4 基于程序元的特征符号抽取
  • 5.5 特征符号抽取算法实例
  • 5.6 本章小结
  • 第六章 分层匹配机制和相似性分析
  • 6.1 分层匹配和相似性分析框架
  • 6.2 粗、细两层匹配算法
  • 6.3 基于模糊推理的相似性分析
  • 6.3.1 相似性问题的提出
  • 6.3.2 相似性分析算法
  • 6.4 算法实例
  • 6.4.1 分层匹配算法实例
  • 6.4.2 相似性分析算法实例
  • 6.5 本章小结
  • 第七章 基于特征符号程序理解模型原型
  • 7.1 基于特征符号程序理解模型原型系统
  • 7.2 原型各部分功能简介
  • 7.2.1 Plan库的组织和建立
  • 7.2.2 源码处理器
  • 7.2.3 特征符号产生器
  • 7.2.4 特征匹配器
  • 7.2.5 相似性分析器
  • 7.2.6 集群和并行
  • 7.3 原型系统运行实例
  • 7.3.1 运行结果
  • 7.3.2 结果分析
  • 第八章 基于信息检索的代码和中文文档关联
  • 8.1 概述
  • 8.2 关联方法
  • 8.3 原型系统、实验结果和结果分析
  • 8.3.1 原型系统和实验结果
  • 8.3.2 实验结果
  • 8.3.3 结果分析
  • 8.4 本章小结
  • 第九章 结论和展望
  • 9.1 论文主要工作
  • 9.2 后续研究展望
  • 参考文献
  • 读博期间发表或完成的论文
  • 致谢
  • 相关论文文献

    • [1].道路网约束和种子树索引的居民地粗匹配[J]. 测绘科学 2019(02)
    • [2].文物碎块虚拟拼接中的表面特征优化[J]. 计算机辅助设计与图形学学报 2014(12)
    • [3].基于高通能量变换的多传感器图像配准[J]. 计算机工程与应用 2009(17)
    • [4].一种图像特征点迭代修正匹配算法[J]. 计算机系统应用 2015(09)
    • [5].基于两层策略的掌纹识别新方法[J]. 吉林大学学报(工学版) 2008(S2)
    • [6].机载图像辅助导航实时匹配算法研究[J]. 计算机测量与控制 2010(11)
    • [7].机场监视目标图像匹配研究[J]. 中国民航大学学报 2015(06)
    • [8].一种图像相关匹配算法的改进及实现[J]. 光电技术应用 2013(04)
    • [9].等级关联的粒子群迭代多目标检测跟踪[J]. 中国图象图形学报 2013(09)
    • [10].一种基于复合匹配的目标识别算法[J]. 弹箭与制导学报 2008(02)
    • [11].地震与测井资料自动匹配的研究[J]. 石油地球物理勘探 2014(01)
    • [12].基于Harris角点匹配的目标跟踪[J]. 电脑编程技巧与维护 2012(08)
    • [13].利用TERCOM与ICCP进行联合地磁匹配导航[J]. 武汉大学学报(信息科学版) 2011(10)
    • [14].基于断裂面匹配的破碎文物的虚拟修复方法[J]. 系统仿真学报 2014(09)
    • [15].船体分段测量点数据与CAD模型自动匹配方法研究[J]. 哈尔滨工程大学学报 2012(05)
    • [16].一种航空光栅显示设备画面质量检测算法[J]. 电光与控制 2010(12)

    标签:;  ;  ;  ;  

    基于特征符号的程序理解研究
    下载Doc文档

    猜你喜欢