首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--计算机软件论文--程序设计、软件工程论文--软件工程论文

基于LLVM克隆代码检测关键技术研究

摘要第4-5页
abstract第5页
第一章 绪论第8-13页
    1.1 发展趋势第8页
    1.2 国内外研究现状第8-9页
    1.3 实际意义与研究目的第9-10页
    1.4 研究内容及创新点第10-11页
    1.5 论文结构及安排第11-13页
第二章 基本概念第13-21页
    2.1 程序切片介绍第13-16页
        2.1.1 静态程序切片介绍第13-14页
        2.1.2 动态程序切片介绍第14-15页
        2.1.3 程序依赖图第15页
        2.1.4 系统依赖图第15-16页
    2.2 LLVMIR相关知识第16-17页
    2.3 常用代码克隆检测技术第17-18页
        2.3.1 基于文本的克隆代码检测第17-18页
        2.3.2 基于树的克隆代码检测第18页
        2.3.3 基于图的克隆代码检测第18页
    2.4 机器学习的基本概念第18-19页
        2.4.1 TensorFlow第19页
        2.4.2 Sklearn第19页
    2.5 本章小结第19-21页
第三章 基于简单依赖图的代码匹配方法第21-35页
    3.1 引言第21-22页
    3.2 LLVMIR语法结构第22-23页
    3.3 语句程序依赖图与LLVM依赖图的对比第23-24页
    3.4 LLVM依赖图变更分析第24-25页
        3.4.1 添加注释第24页
        3.4.2 交换语句第24页
        3.4.3 增加可执行语句第24页
        3.4.4 增加不执行语句第24-25页
    3.5 简单依赖图第25页
    3.6 基于简单依赖图的分割方法第25-27页
        3.6.1 策略分析第26-27页
    3.7 基于简单依赖图的匹配方法第27-31页
        3.7.1 对比点匹配策略第28-29页
        3.7.2 相似度计算策略第29-31页
    3.8 代码匹配的增量更新方法第31-33页
        3.8.1 行号映射第31-33页
        3.8.2 标准依赖图和待检测依赖图的区别第33页
    3.9 本章小结第33-35页
第四章 基于简单依赖图的合并方法第35-45页
    4.1 引言第35页
    4.2 简化复杂依赖图第35-38页
        4.2.1 简单依赖图的基本操作第35-38页
    4.3 克隆代码的合并策略第38-41页
        4.3.1 基于简化图结构的合并策略第39-41页
    4.4 相似度阈值的自动设置第41-44页
        4.4.1 提取特征向量第42页
        4.4.2 神经网络学习模型第42-43页
        4.4.3 线性回归模型第43-44页
    4.5 本章小结第44-45页
第五章 实验验证第45-53页
    5.1 引言第45页
    5.2 克隆检测模型参数实验验证第45-47页
    5.3 并行架构实验验证第47-49页
        5.3.1 匹配与简化的并行实验验证第47-48页
        5.3.2 简化流程并行实验验证第48-49页
    5.4 克隆检测模型对比实验验证第49-51页
    5.5 本章小节第51-53页
第六章 总结与展望第53-55页
    6.1 工作总结第53-54页
    6.2 未来工作展望第54-55页
参考文献第55-57页
附录1 程序清单第57-58页
附录2 攻读硕士学位期间申请的专利第58-59页
致谢第59页

论文共59页,点击 下载论文
上一篇:测试集规模、测试覆盖率和测试有效性之间关联性研究
下一篇:基于Spark的聚类算法实现与应用