基于Java源代码的动态监测技术研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:a1986431230xinglixue
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术的飞速发展和用户需求的不断增加,软件开发技术呈现出多样化的发展趋势,其中比较有代表性的编程语言是Java语言。Java语言的广泛应用,提高了软件的开发效率,但给查找程序漏洞带来极大的挑战。动态监测具有发现漏洞的准确率高和监测具有实时性等优点被广泛的应用和研究。因此,基于Java源代码的动态监测技术研究具有重要意义。动态监测技术是一种获得程序运行时信息的关键技术。系统采用程序插桩方法实现Java程序的动态监测,首先通过开源工具对待测项目进行词法语法分析,并进行源代码重构,同时将源代码信息保存到程序中间表示中,根据重构后的源代码和程序中间表示实现了一种基于语句行的程序插桩方法,克服了基于抽象语法树的程序插桩方法的可扩展性差和灵活性差的问题。实现了一个基于Java源代码的动态监测框架,完成了代码覆盖率的统计,可以统计每个方法的语句覆盖率、分支覆盖率、循环覆盖率和多条件覆盖率,并实现了一种基于程序切片的污点覆盖率的计算方法。根据污点覆盖的执行情况,通过污点源逆向分析的方法对静态分析检查的漏洞进行确认,提高了检查出漏洞的精确度。实验表明,基于Java源代码的动态监测框架可以完成代码覆盖率的统计、静态分析漏洞的确认,并且新的程序插桩方法提高了程序插桩灵活性和可扩展性,减少了时间开销,实验结果达到了预期的目的。
其他文献
随着城市化快速发展,越来越多的人群现象出现在公共场所,为更好的对公共区域进行管理,人群异常事件检测一直受到社会和政府的重点关注。然而,现有的研究的人群异常事件检测方法大
目前互联网上出现了大量构件库和零散的构件资源,但是,这些构件资源呈现部分集中、总体分散的特点,以及各个构件库对构件信息的描述存在差异,导致用户很难快速准确的检索到所需的
兼顾信息的保密性和访问便捷性一直是密文检索领域试图达到的目标,其实现与优化也是一个循序渐进的过程。当前已有的密文检索方案都将检索操作本身作为重点,没有考虑多个密文拥
随着Web技术的快速发展及广泛应用,Internet上的Web页面数目开始呈指数级的速度增长,如何结合语义知识来挖掘分析用户对Web页面的访问行为成为一个重要的研究方向。这里分别从
在树木中,叶片是其重要的组成部分,人们在识别树木或者建模时,树干仅仅起到了辅助作用,而树叶的真实感与否才是关键。目前基于点云的叶片方法在树叶建模的细节特征和逼真性方
近年来,人们对高质量视频流应用的需求不断增长,同时无线频谱资源也日益紧缺。无线接入点及移动设备的大量普及给无线网络视频流传输带来压力和挑战,也为基于无线中继网络的协作
基于轮廓信息的图像模式匹配广泛应用于工业、农业、商业和生活中的各个领域,是计算机视觉中一个重要的研究课题。其现有方法按技术路线可分为自下而上和自上而下两类。其中,自
作为基于位置应用的基础服务,室内定位系统实现了无线环境下的室内位置感知。指纹定位技术利用收集室内环境所能接收到的Wi-Fi或ZigBee信号强度应用机器学习算法来推断当前用
以太网光纤通道(FCoE,Fibre Channel over Ethernet)是一种新兴的存储区域网络协议。可将光纤通道协议帧封装在以太网帧内,通过增强型以太网进行传输,实现现有的传统局域网和存储
超分辨率重建技术是通过融合多帧同一场景的低分辨率图像得到一个更高分辨率、更清晰图像的技术,是图像增强的主要分支。但是现存算法仍存在着噪声鲁棒性不强的问题,算法难处理