首页> 中文学位 >基于JVM执行事件的动态监测技术研究
【6h】

基于JVM执行事件的动态监测技术研究

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

1 绪论

1.1 研究背景及意义

1.2 国内外研究现状

1.3 论文主要研究内容及组织结构

2基于java虚拟机执行事件的动态监测技术

2.1 JVM的体系架构

2.2与动态监测相关的结构

2.3基于JVM执行事件的动态监测

2.4 本章小结

3 动态监测系统中检测和分析算法

3.1死锁的检测算法

3.2数据竞争的检测算法

3.3虚拟机方法调用的监测算法

3.4类覆盖率的分析算法

3.5 本章小结

4 基于JVM执行事件的动态监测系统的设计与实现

4.1 系统设计总体框架

4.2 虚拟机模块设计

4.3 监测模块设计

4.4 通信模块设计

4.5 界面显示模块设计

4.6 本章小结

5 实验

5.1 实验环境

5.2 实验过程

5.3 实验结果分析

5.4 本章小结

6 总结与展望

6.1 论文总结

6.2 工作展望

致谢

参考文献

附录 攻读学位期间参与的科研项目

展开▼

摘要

随着信息技术的进步,Java语言越来越广泛的应用于编程当中,一方面改善了设计质量,提高了编程的效率;另一方面使得软件越来越复杂,发现程序的漏洞特别是并发、多线程程序的漏洞异常的困难。动态监测具有发现漏洞的准确率高,监测具有实时性等优点被广泛的应用和研究。基于 JVM执行事件的动态监测能够深入到虚拟机内部,对于监测并发程序的运行时信息相当有效,是一个值得研究的课题。
  JVM是 Java程序的执行环境,深入到 JVM当中就可以获取很多运行时的信息,包括方法区、堆、java栈等方面的信息。基于 JVM执行事件的动态监测系统实现了JVM的数据结构,修改 JVM的执行引擎,在执行的过程之中引入许多执行事件,如字节码执行、线程调度事件等等。监测程序通过订阅这些事件就可以分析程序的运行状态,发现程序运行之中的漏洞。并行程序的错误产生与线程之间的字节码交互指令序列密切相关,为了提高检测错误的准确率,系统采用了模型检测的技术,实现了线程调度的功能,能够遍历所有的程序状态空间。系统能够检测死锁、数据竞争的错误,能够监测方法执行序列、调用频度的系统信息,可以分析类中方法、基本块、分支块的覆盖率信息。系统采用了模块化的设计,主要分为四个模块:虚拟机模块,监测模块,通信模块,界面显示模块。
  实验表明,在中小规模的程序动态监测上,系统发现错误的准确率很高,监测的结果也很精确。

著录项

  • 作者

    黄金虎;

  • 作者单位

    华中科技大学;

  • 授予单位 华中科技大学;
  • 学科 计算机软件与理论
  • 授予学位 硕士
  • 导师姓名 瞿彬彬;
  • 年度 2012
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.53;
  • 关键词

    软件维护; 动态监测; 模块化设计; JVM执行事件;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号