Alias Analysis for Object-Oriented Programs

Alias Analysis for Object-Oriented Programs
复制标题

面向对象程序的别名分析

DOI:
10.1007/978-3-642-36946-9_8
复制
发表时间:
2013
期刊:
2012 7th International Workshop on Automation of Software Test (AST)
影响因子:
--
通讯作者:
Eran Yahav
Eran Yahav
中科院分区:
--
文献类型:
--
作者:
Manu Sridharan;S. Chandra;Julian T Dolby;Stephen J. Fink;Eran Yahav

文献摘要

被引文献

相似文献

我们对面向对象程序的最先进的别名分析进行了高水平的概述,这是基于多年来为Java开发工业级别的静态分析的努力。我们首先介绍点对点分析的常见变体,包括对关键实现技术的讨论。然后,我们描述了基于访问路径跟踪的流量敏感技术,这可以为某些客户端带来更高的精度。我们还讨论了由于在库和框架中越来越多地使用反射,整个程序别名分析对于现代Java程序是如何变得不那么有用的。我们发现,对于现实世界的程序,基于访问路径跟踪的欠近似别名分析通常为各种实际客户提供最好的结果。
We present a high-level survey of state-of-the-art alias analyses for object-oriented programs, based on a years-long effort developing industrial-strength static analyses for Java. We first present common variants of points-to analysis, including a discussion of key implementation techniques. We then describe flow-sensitive techniques based on tracking of access paths, which can yield greater precision for certain clients. We also discuss how whole-program alias analysis has become less useful for modern Java programs, due to increasing use of reflection in libraries and frameworks. We have found that for real-world programs, an under-approximate alias analysis based on access-path tracking often provides the best results for a variety of practical clients.