面向数据流的Java程序指针分析技术研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:rongerxingfu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
指针分析是许多程序分析工作的基础,它从源程序中抽取各指针变量的指向信息、各表达式间的别名信息,以及其它指针相关的信息,从而使后继分析能够准确地识别各程序点上访问的存储空间,判定它们的运行时类型,并进行指针信息相关的推导。多年来,人们对指针分析技术进行了广泛而深入的研究,取得了许多研究成果,使得它在程序编译、程序变换、软件维护、软件逆向工程与再工程等领域得到广泛应用,受到了广大软件研究人员的高度重视。 尽管如此,随着面向对象语言的不断动态化,以及程序规模的不断扩大,指针分析方法在走向应用的过程中依然存在许多困难,如何保证分析精度和分析性能仍是十分值得研究的问题。为了进一步提高指针分析的实用性,本文围绕程序数据流提取这一应用点,对Java程序指针分析中的若干关键技术进行了深入研究。文章首先针对语句层的数据流提取问题,提出了点间确定别名的概念,并给出了一组利用点间确定别名优化依赖分析精度的方法;然后针对模块层的数据流提取,提出了一种基于贡献度的调用栈抽象模型,并通过其实例——线程敏感的指针分析和关注点敏感的指针分析——展示了它在优化数据流分析效率方面的效果。最后,论文还讨论了一些与指针分系统实现有关的问题。 具体的,论文工作的主要成果表现在以下几个方面: ()提出了点间确定别名的概念。这些别名能够描述不同程序点上访问路径之间的关系,相比于现有别名,具有更强的表达能力。根据点间确定别名的概念,给出了两种不同的计算点间确定别名的方法,它们分别基于数据流迭代和值编号技术,具有不同的技术特点,为点间确定别名的后继应用奠定了基础。 ()给出了多种利用点问确定别名提高数据流分析精度的方法。利用点间确定别名首先可以识别强更新和相对更新,此外它们还能够用于优化程序的副作用分析,识别不可实现的访问路径组合和无效的过程间数据流,从而最终优化依赖图的构建。 ()提出了一种基于贡献度的调用栈抽象模型,它结合一个调用信息对分析精度的贡献程度,来决定其是否需要出现在最终的调用上下文中。以该模型为基础,指针分析方法可以利用有限长度的调用上下文,最大程度地提高分析精度,这将使分析具有更佳的性价比。 ()以基于贡献度的调用栈抽象为基础,提出了一种线程敏感的指针分析方法和一种关注点敏感的指针分析方法。这两种方法都是面向应用的,且具有粗粒度的上下文敏感性。与已有的其它基于调用串的指针分析方法相比,前者对于线程间数据流的提取具有更好的精度-性能比,而后者充分考虑了面向方面程序的结构特点,可以相当程度地提高方面间数据流识别的效能。结合关注点敏感的指针分析,本文还给出了一种高效的有害通知识别方法。
其他文献
随着经济、社会的不断发展,电力在社会中的重要性不断提高。如何实现用电户的电表远程抄收与管理问题日益成为配电、用电领域研究的新课题。同时,随着计算机及通讯技术的发展,GP
目标跟踪技术在自动控制、监控技术、医学图像识别等领域的应用中有着独特的优势,但是近年来,目标跟踪技术仍然不能达到人们满意的效果,严重阻碍了其应用推广,随着硬件技术的飞快
随着网络技术的应用和成熟,网络计算、分布式计算等成为当前计算机研究和应用的热点,同时,基于这些技术产生了许多新的应用需求,如电子商务、个人助理、分布的信息检索等。这些新
本文主要研究一种在嵌入式系统上的GPS终端的软件设计方法。随着GPS技术在包括道路测控、汽车导航、交通管理、石油勘探、海上作业和紧急救援等军事和民用的众多领域中的越来
在对虚拟仪器发展趋势研究的基础上,重点讨论了实现远程虚拟仪器的两种方法及其实现技术,一种是基于Internet的网络嵌入式虚拟仪器,一种是基于DSP和FPGA的微机卡式虚拟仪器。阐
本文深入探讨了VoIP的相关知识,分析了当前国内外的发展现状,并通过对当前热门的信令控制协议SIP协议的深入研究,提出将SIP协议应用于基于网络的实时语音通讯。SIP协议全称为
随着Web技术的迅猛发展以及多变、复杂的企业需求的快速增长,Web系统的应用越来越广泛,结构也越来越复杂,并逐渐成为下一代软件开发的主流。J2EE目前已成为Web系统最常用的系
蚁群算法(Ant Colony SyStem,ACS)是根据蚂蚁群体觅食过程中会选择最短路径行进的生物学行为发展起来的一种群体智能优化方法。该算法是一种新型的分布式优化算法,它有较强的解
工作流管理是一个被业界广泛应用并迅速发展的技术,而工作流建模是工作流技术研究的基础。本文主要是基于Petri理论对工作流建模方法和模型的分析评价方法进行研究与探索。本
人体动作识别在计算机视觉领域一直都是一个重要且具有挑战性的课题。因为其在安全监控、虚拟现实、智能人机交互等很多领域广泛的应用,正受到研究者和工业界越来越多的重视