基于Soot框架Java同步优化研究

来源 :浙江师范大学 | 被引量 : 0次 | 上传用户:shijipan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
利用Java字节码文件中的属性,本文提出了一种用于Java程序优化的方法。该方法利用前置改良同步逃逸分析算法,将待优化Java程序中冗余同步操作对象找出,然后将这些信息通过标签形式附加在框架中间语句表示上,接着将得到的优化的信息转化到字节码文件属性(Attribute)中,最后通过改进的Jasmin汇编器生成用于执行的字节码。本文算法以Soot为基础完成实现;Soot是一种支持和转换Java字节码的框架。完成以下工作:(1)提出改良的逃逸分析算法。以指针分析(points-to)为基础,针对过程间静态字段、线程对象以及线程字段逃逸分析操作,将其上具体分析操作放在同一单while循环体内,从而有效降低分析算法功耗。利用已有的逃逸分析准则和逃逸状态结合准则,进行相应迭代操作,将整个Java应用程序线程局部对象标注出来,通过标签操作将信息标注到字节码属性上,最终该程序在执行的时候虚拟机会依据字节码上的属性信息,做出相应的优化,删除多余的同步操作。(2)利用Soot框架实现上述提出的算法。本文算法的最终是基于开源的Soot框架来实现的。利用Soot内置的points-to分析框架——Soot Pointer Analysis Research Kit (SPARK),进行必要的指针图分析;在此基础上,通过本文扩展Soot工具的流分析框架,实现该逃逸分析算法。具体实现最主要的地方是加入了前人研究中忽视的循环流中不必要同步操作的删除判断,同时扩展利用Soot中的注解框架(annotation framework),结合Java类文件属性来优化Java程序,将程序分析后得到的优化信息设计成标签加注到相关字节码上,在虚拟机执行的时候可以依据这些标记信息,实现运行时程序的同步优化。
其他文献
当今网络交流成为人们交流的主要方式之一。可是人们在网络中频繁地交流却也泄露了自己的隐私。因此,如何保护人们的私有信息,成为人们急需要解决的基本问题。为了解决保护私
软件缺陷预测是软件工程领域的一个热点研究方向。它通过分析软件度量值利用机器学习方法预测软件中是否含有缺陷。进而有助于帮助软件开发人员提高软件质量。  软件缺陷预
在过去几年里,随着Internet的普及,P2P流媒体系统用户量快速增长,已成为当前网络最重要的应用之一。典型的P2P流媒体系统如PPLive、PPStream、Skype等都获取了很大的市场份额,其
近年来由于在身份鉴别、视频监控和人机交互等领域的广泛应用前景,人脸识别获得越来越多的关注。现有的大部分人脸识别方法都是研究限定条件下(正面人脸、无遮挡、受控的光照)或
科技的发展进步和网络应用的普及,在给社会带来方便的同时,随之而来的安全问题也日益为人们所关注。密码技术则是保证信息安全的有效手段。随着混沌学及其应用的发展,混沌密
无线传感器网络(WSNs)经常部署在敌方和无人照看的环境中,因此易于受到节点捕获攻击。在节点捕获攻击中,被捕获节点上的密钥和数据等信息可以被敌人提取。但是WSNs中的节点捕
在软件开发与维护过程中,bug修复是至关重要的一个环节。快速准确修复bug的关键,是找到能修复bug的开发者,即bug分配。当前人们主要用文本分类方法来解决bug分配问题,然而该
随着计算机技术的发展和网络应用的深入,网络安全受到的威胁日益严重,尤其是恶意代码(计算机病毒、木马、网络蠕虫等)的泛滥对网络应用造成了很大的破坏。在这些恶意代码中,
随着计算机的普及和现代网络技术的发展,文档在线阅读和共享已经成为现代社会人们获取知识的一种普遍途径。作为对传统出版物的重要补充形式,文档的在线阅读以及下载为人们的
无线传感器网络被应用到越来越多的领域,事件监测是其重要应用之一。模式查询系统是实现事件监测的重要手段之一。由于传感器节点存在诸多限制,本文对模式查询中的模式数据分