首页> 中文学位 >基于过程蓝图的程序结构模式挖掘技术的研究
【6h】

基于过程蓝图的程序结构模式挖掘技术的研究

代理获取

目录

声明

摘要

第1章 引言

1.1 研究背景和意义

1.2 源码挖掘

1.3 源码挖掘相关研究现状

1.3.1 可重用代码检测

1.3.2 静态规则挖掘

1.3.3 动态规则检测

1.3.4 软件缺陷检查

1.3.5 设计模式挖掘与重构

1.4 本文研究内容和方法

1.5 论文组织结构

第2章 程序过程蓝图模型预处理过程与方法

2.1 相关数据模型定义

2.1.1 程序结构模式的定义

2.1.2 蓝图语法树模型的定义

2.1.3 程序结构特征模型

2.2 程序结构特征模型抽取过程

2.3 程序结构特征模型的抽取方法

2.3.1 切片方法

2.3.2 程序结构中数据对象的标识符替换方法

2.3.3 程序结构特征模型信息库构建方法

2.4 本章小结

第3章 程序结构频繁序列挖掘算法

3.1 程序结构频繁序列挖掘概述

3.2 程序结构特征模型序列化哈希算法

3.2.1 哈希函数的评价

3.2.2 哈希算法对比实验

3.3 序列模式挖掘算法概述

3.3.1 序列模式挖掘基本概念

3.3.2 CI ospan算法分析

3.4 程序结构频繁序列挖掘改进方法

3.4.1 问题定义

3.4.2 程序结构关联序列抽取

3.4.3 无关序列的通配符替换方案

3.4.4 投影数据库的替代方案

3.5 基于位置索引的程序结构频繁序列挖掘改进算法

3.5.1 基于位置索引序列挖掘算法核心思想

3.5.2 程序结构序列挖掘WCPclospan算法实现

3.6 实验和性能评估

3.6.1 实验环境及数据集设置

3.6.2 数据集的统计特性

3.6.3 WCPclospan和Clospan、Spade算法性能比较

3.7 本章小结

第4章 程序结构模式的匹配算法

4.1 模式匹配相关技术介绍

4.1.1 布隆过滤器

4.1.2 BMH匹配算法

4.2 程序结构模式的模糊匹配

4.2.1 程序结构模式匹配相关定义

4.2.2 程序结构模式预处理

4.2.3 程序结构模式匹配算法思想

4.2.4 BF-BMH算法过程描述

4.2.5 BF-BMH算法实现

4.2.6 BF-BMH算法分析

4.3 实验及结果分析

4.4 本章小结

第5章 可重用程序结构模式挖掘系统设计

5.1 系统架构设计

5.2 功能模块设计

5.3 核心模块算法设计

5.4 存储方案设计

5.4.1 模式存储

5.4.2 程序结构模式基本信息存储

5.4.3 程序结构模式描述

5.4.4 程序结构模式检索

5.5 系统界面设计

5.5 部分挖掘结果分析

5.6 小结

第6章 总结与展望

6.1 工作总结

6.2 工作展望

参考文献

个人简历、在学期间发表的学术论文及研究成果

展开▼

摘要

程序结构模式是经过实践证明解决某个问题或某种特定问题的有效程序逻辑结构的抽象。它反应了解决某一问题所用到的程序逻辑结构细节,是程序员行为习惯的体现。对程序结构模式的挖掘,形成可重用的程序逻辑结构库,有利于实现代码复用,减轻程序员的工作量。但是,目前由于代码依赖平台存在,语句间结构关系复杂,以及标识符命名易受程序员个体差异影响,而使从非结构化文本源码中识别可重用程序结构模式还相当困难。
  为了克服源码数据难以处理的问题,并从中识别出可重用的结构模式,本文借助过程蓝图模型,切片技术,模糊匹配技术,哈希序列化技术,频繁模式挖掘技术等研究手段,系统地探讨了可重用程序结构模式的挖掘方法,在程序过程蓝图模型的基础上抽取程序结构特征模型,进行程序结构序列化,并利用频繁序列挖掘算法进行频繁程序结构序列的挖掘。基于候选数据集的特点探索了频繁程序结构序列挖掘的挖掘算法。在挖掘出频繁结构模式的基础上,为了规避模式库中重复模式过多的问题,提出在新模式入库前进行新模式与存储在模式库中模式的匹配过程,并研究了一种高效的匹配算法。主要研究成果如下:
  1)对程序结构进行定义,并从源码中抽取了数值化的程序结构特征模型,将基于文本类型的源码挖掘问题,转化为频繁程序结构序列模型检测问题。实验结果表明将文本化的程序源码转换为程序结构序列取得了较好的数据处理效果,成功得将文本数据转换为数值数据。
  2)设计并实现了程序结构序列模式挖掘模块,根据被挖掘数据—程序结构特征序列的特点,采用关联序列捆绑,标识符替换,基于位置索引的频繁序列挖掘算法等技术,对程序结构序列进行挖掘,并获取大量频繁程序结构模式。实验结果表明基于位置索引的程序结构频繁序列挖掘算法获得了较好的程序结构频繁序列模式集。
  3)设计了程序结构模式匹配算法,利用布隆过滤器进行结构过滤和数据操作过滤,然后采用BMH算法进行误识别矫正,实验结果表明BF-BMH算法较好地解决了新模式直接入库造成模式库重复率过高的问题,算法性能较好。
  4)模块整合及子系统设计。将数据预处理模块,程序结构模式序列挖掘子模块和模式匹配模块,模式存储模块进行整合,设计并实现了程序结构模式挖掘系统,并利用开源项目源码对子系统稳定性和可用性进行了测试,结果表明实验系统设计简单且有效。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号