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

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:shenbincool
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术的进步,Java语言越来越广泛的应用于编程当中,一方面改善了设计质量,提高了编程的效率;另一方面使得软件越来越复杂,发现程序的漏洞特别是并发、多线程程序的漏洞异常的困难。动态监测具有发现漏洞的准确率高,监测具有实时性等优点被广泛的应用和研究。基于JVM执行事件的动态监测能够深入到虚拟机内部,对于监测并发程序的运行时信息相当有效,是一个值得研究的课题。JVM是Java程序的执行环境,深入到JVM当中就可以获取很多运行时的信息,包括方法区、堆、java栈等方面的信息。基于JVM执行事件的动态监测系统实现了JVM的数据结构,修改JVM的执行引擎,在执行的过程之中引入许多执行事件,如字节码执行、线程调度事件等等。监测程序通过订阅这些事件就可以分析程序的运行状态,发现程序运行之中的漏洞。并行程序的错误产生与线程之间的字节码交互指令序列密切相关,为了提高检测错误的准确率,系统采用了模型检测的技术,实现了线程调度的功能,能够遍历所有的程序状态空间。系统能够检测死锁、数据竞争的错误,能够监测方法执行序列、调用频度的系统信息,可以分析类中方法、基本块、分支块的覆盖率信息。系统采用了模块化的设计,主要分为四个模块:虚拟机模块,监测模块,通信模块,界面显示模块。实验表明,在中小规模的程序动态监测上,系统发现错误的准确率很高,监测的结果也很精确。
其他文献
随着3D扫描设备的发展,用这些设备来获取现实生活中的物体的三维表面数据已经成为可能。尤其当微软的Kinect,华硕的Xtion,英特尔的RealSense等深度相机的出现,人们获取这些三
无线传感器网络(WSNs)是由大量传感器节点组成的,它们被部署在所需监测的目标区域。这些节点协作地感知和处理监测区域中的信息,即能够用来获取客观物理世界的信息。因此近年
在处理客观世界中的事物时,人们原来就认为客观事物就是非此即彼,于是,Cantor于1874年创立了经典集合的理论。在经典集合理论中,经典集合中的任意一个元素要么在这个集合中,要么不
目前,在这个信息化迅速发展的时代,随着计算机的广泛应用和互联网技术的普及,人们互相交流思想获取信息变得更加快速和便捷,抄袭现象也越来越普遍,手段也越来越隐蔽。在各个高校中
随着信息技术的发展,数据挖掘技术作为目前计算机研究的热门领域,在社会各方面得到广泛使用,它旨在从大量数据中挖掘出有价值的信息。   本文重点研究数据挖掘中的分类方法和
在分布式网络快速发展的推动下,数字视频内容日益丰富,数量急剧增长。数字视频储存、复制和再分发的便利性,一方面极大地满足了人们学习和娱乐的需求;另一方面又带来了越来越多的
由于无线信道的广播特性,无线传感器网络中任一节点发送的无线信号都可能被其通信范围内的其他节点接收。因此,当位于同一地理区域范围内的节点同时传输信号时,会形成相互干
在航天领域,飞行控制计算机作为航天飞行器控制系统的核心功能部分,其可靠性要求不容置疑是很高的。本文主要以某型号航天飞行器的飞行控制计算机研制项目为背景,结合飞行控制任
随着高性能计算的发展,计算能力得到大幅度的提升,然而受限于投资和复杂度,I/O性能则相对发展缓慢。基于此,I/O性能已经成为众多HPC应用程序的性能瓶颈,提升应用程序的I/O性
随着信息数量及用户数量的迅速增长,网络经常由于数据包产生速率超过了整个网络的通信能力而产生了拥塞现象。而网络的拥塞控制与路由策略关系密切,该领域的研究受到了学者的广