面向Java程序错误定位的动态切片技术的研究与应用

面向Java程序错误定位的动态切片技术的研究与应用

论文摘要

Java语言是一门简单的、面向对象的、健壮安全的、分布式的、结构中立、可移植性强、高效能、支持多线程的、动态的程序设计语言。Java的卓越特性使得它在各个领域获得了广泛的应用。同时,随着计算机软件技术的发展,Java软件系统的规模也逐渐扩大,如何高效地对大规模的Java软件系统进行软件测试、程序理解、调试、维护等问题受到研究者们的广泛关注程序切片作为一种分解程序的程序分析技术,在程序理解、程序分析、调试、软件测试、软件维护诸多领域发挥着不可低估的作用。程序切片技术可分为静态切片和动态切片两种,动态切片需要跟踪程序的执行,而Java程序中的一些无法在编译期间确定的信息可以在执行时确定,因此,动态切片的结果会比静态切片的更加精确,但其存在执行代价高的问题,特别是在计算大型软件系统的动态切片过程中。目前有关Java程序的动态切片技术的研究较少,本文针对动态切片系统开销大的问题,提出了一种基于方法执行路径的计算Java程序动态切片的方法。该方法跟踪程序方法的执行,利用程序动态执行信息和静态信息建立动态系统依赖图,并在动态系统依赖图上采用两步图可达性算法获得动态切片。然后,本文从理论和实验两个方面对本方法的切片精度和系统开销进行了评估,充分证明了本方法有效地提高了Java程序动态切片的效率。此外,本文还结合实际应用,将本文提出的Java程序动态切片方法应用于程序错误定位的研究当中。最后,为本文提出的动态切片方法设计了原型系统(J_Dslice):该原型系统运用AOP (面向切面的编程思想)具体实现之一的AspectJ对Java字节码进行插桩,收集程序方法的执行信息;采用JavaCC工具和JTB工具分别生成Java源程序的抽象语法树(AST)和遍历语法树,进而提取程序静态信息;并设计和定义了一系列功能模块用于构造动态系统依赖图、计算动态切片及错误定位。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 插图索引
  • 附表索引
  • 第1章 绪论
  • 1.1 课题背景
  • 1.1.1 程序切片技术的发展历程
  • 1.1.2 程序切片技术的应用
  • 1.2 Java程序切片研究现状
  • 1.2.1 国内外研究现状
  • 1.2.2 目前研究中存在的问题
  • 1.3 本文研究目标及内容
  • 1.4 本文的组织结构
  • 第2章 动态切片技术概述
  • 2.1 动态切片的基本概念
  • 2.1.1 执行记录
  • 2.1.2 动态切片准则
  • 2.2 动态切片的分类
  • 2.3 动态切片相关研究
  • 2.3.1 过程型程序动态切片方法介绍
  • 2.3.2 Java程序动态切片介绍
  • 2.4 本文方法概述
  • 2.5 本章小结
  • 第3章 Java系统依赖图
  • 3.1 Java程序面向对象特性
  • 3.2 JSDG的基本语法语义
  • 3.3 JSDG的构造过程
  • 3.3.1 语句
  • 3.3.2 方法依赖图
  • 3.3.3 类依赖图
  • 3.3.4 接口依赖图
  • 3.4 本章小结
  • 第4章 程序动态切片技术研究
  • 4.1 目前Java程序动态切片中存在的问题
  • 4.2 方法执行路径的收集
  • 4.2.1 程序插桩技术概述
  • 4.2.2 Java字节码插桩技术
  • 4.3 提取动态执行信息
  • 4.4 动态系统依赖图
  • 4.4.1 动态系统依赖图的构造步骤
  • 4.4.2 动态类依赖图
  • 4.4.3 动态方法调用图
  • 4.4.4 动态方法依赖子图
  • 4.4.5 方法依赖关系库
  • 4.4.6 动态方法依赖图
  • 4.5 切片算法
  • 4.6 切片精度评估
  • 4.7 效率评估
  • 4.8 在程序错误定位中的应用
  • 4.9 本章小结
  • 第5章 Java程序动态切片系统设计
  • 5.1 开发环境
  • 5.1.1 AspectJ介绍
  • 5.1.2 JavaCC介绍
  • 5.2 系统的设计思想
  • 5.3 系统总体结构
  • 5.3.1 系统框架
  • 5.3.2 功能模块
  • 5.4 系统主要数据结构
  • 5.5 本章小结
  • 结论
  • 参考文献
  • 致谢
  • 附录A 攻读学位期间所发表的学术论文目录
  • 相关论文文献

    • [1].5G网络切片技术资源管理及未来发展趋势探讨[J]. 电信快报 2019(12)
    • [2].5G网络切片技术的应用研究[J]. 数字通信世界 2020(01)
    • [3].5G网络切片技术研究[J]. 邮电设计技术 2020(03)
    • [4].切片技术在5G移动网络中的运用[J]. 电子技术与软件工程 2019(15)
    • [5].5G网络切片技术研究[J]. 电子世界 2019(20)
    • [6].弹性网络的网络切片技术研究[J]. 通信技术 2016(12)
    • [7].5G网络切片技术驱动力分析[J]. 通讯世界 2019(12)
    • [8].虚拟切片技术在肾内科临床、科研及教学中的应用前景[J]. 协和医学杂志 2020(02)
    • [9].未来5G网络切片技术关键问题分析[J]. 中国新通信 2019(11)
    • [10].胰腺肿瘤大切片技术[J]. 临床与实验病理学杂志 2020(05)
    • [11].5G网络切片技术在智能电网的应用研究[J]. 中国新通信 2020(14)
    • [12].5G网络切片技术在雪亮工程中的应用分析[J]. 通信与信息技术 2019(04)
    • [13].5G应用前景及网络切片技术探讨[J]. 湖北农机化 2019(18)
    • [14].大唐移动专家详谈5G网络切片技术以用户为中心[J]. 通信世界 2017(15)
    • [15].程序切片技术在软件测试中的应用[J]. 电子技术与软件工程 2014(17)
    • [16].程序切片技术及其应用的研究[J]. 软件导刊 2010(11)
    • [17].病理组织大切片技术在肺癌的临床分析[J]. 吉林医学 2015(08)
    • [18].软件测试中的程序切片技术[J]. 现代导航 2012(03)
    • [19].未来5G网络切片技术关键问题分析与探究[J]. 通信电源技术 2019(01)
    • [20].石蜡包埋家蚕(蛹)大切片技术的改进[J]. 广东蚕业 2010(02)
    • [21].基于研磨抛光切片技术的芯片结构观察研究[J]. 微电子学 2012(04)
    • [22].计算机程序切片技术探讨[J]. 中国新技术新产品 2009(18)
    • [23].病理大切片技术在胃癌大部切除术后应用价值及优势探讨[J]. 胃肠病学和肝病学杂志 2016(01)
    • [24].磐安举办浙贝母无硫加工技术培训暨浙贝母切片技术比武活动[J]. 现代农机 2019(03)
    • [25].5G网络切片技术综述[J]. 无线电通信技术 2019(06)
    • [26].病理大切片技术在新辅助化疗后乳腺癌手术标本中的应用及其推广价值[J]. 温州医学院学报 2012(01)
    • [27].网络切片技术领域专利分析[J]. 电信网技术 2017(03)
    • [28].程序断言与切片技术在检测程序非崩溃错误中的应用[J]. 小型微型计算机系统 2014(08)
    • [29].基于切片技术的并行化研究[J]. 计算机科学 2011(07)
    • [30].地层切片技术及应用[J]. 钻采工艺 2010(S1)

    标签:;  ;  ;  ;  ;  ;  

    面向Java程序错误定位的动态切片技术的研究与应用
    下载Doc文档

    猜你喜欢