• Cite Icon16
  • https://doi.org/10.1145/3450492Copy DOI Icon

Eagle

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Object sensitivity is widely used as a context abstraction for computing the points-to information context-sensitively for object-oriented programming languages such as Java. Due to the combinatorial explosion of contexts in large object-oriented programs, k -object-sensitive pointer analysis (under k -limiting), denoted k -obj , is often inefficient even when it is scalable for small values of k , where k ⩽ 2 holds typically. A recent popular approach for accelerating k -obj trades precision for efficiency by instructing k -obj to analyze only some methods in a program context-sensitively, determined heuristically by a pre-analysis. In this article, we investigate how to develop a fundamentally different approach, Eagle , for designing a pre-analysis that can make k -obj run significantly faster while maintaining its precision. The novelty of Eagle is to enable k -obj to analyze a method with partial context sensitivity (i.e., context-sensitively for only some of its selected variables/allocation sites) by solving a context-free-language (CFL) reachability problem based on a new CFL-reachability formulation of k -obj . By regularizing one CFL for specifying field accesses and using another CFL for specifying method calls, we have formulated Eagle as a fully context-sensitive taint analysis (without k -limiting) that is both effective (by selecting the variables/allocation sites to be analyzed by k -obj context-insensitively so as to reduce the number of context-sensitive facts inferred by k -obj in the program) and efficient (by running linearly in terms of the number of pointer assignment edges in the program). As Eagle represents the first precision-preserving pre-analysis, our evaluation focuses on demonstrating its significant performance benefits in accelerating k -obj for a set of popular Java benchmarks and applications, with call graph construction, may-fail-casting, and polymorphic call detection as three important client analyses.

Similar Papers
  • Research Article
  • Citations69

Precise Call Graphs for C Programs with Function Pointers

  • Jan 01, 2004
  • Automated Software Engineering
  • Ana Milanova +2
  • Conference Article

Parallelizing Flow-Sensitive Demand-Driven Points-to Analysis

  • Dec 01, 2020
  • Haibo Yu +5
  • Book Chapter
  • Citations71

An Incremental Points-to Analysis with CFL-Reachability

  • Jan 01, 2013
  • Yi Lu +3
  • Research Article
  • Citations8

Scaling Type-Based Points-to Analysis with Saturation

  • Jun 20, 2024
  • Proceedings of the ACM on Programming Languages
  • Christian Wimmer +3
  • Research Article
  • Citations33

Complexity of points-to analysis of Java in the presence of exceptions

  • Jun 01, 2001
  • IEEE Transactions on Software Engineering
  • R Chatterjee +2
  • Book Chapter
  • Citations3

Lightweight Function Pointer Analysis

  • Jan 01, 2015
  • Wei Zhang +1
  • Research Article
  • Citations31

Tracking pointers with path and context sensitivity for bug detection in C programs

  • Sep 01, 2003
  • ACM SIGSOFT Software Engineering Notes
  • V Benjamin Livshits +1
  • Book Chapter

Alias Analysis: Beyond the Code

  • Jan 01, 2013
  • Manu Sridharan
  • Conference Article
  • Citations42

A dataset from change history to support evaluation of software maintenance tasks

  • May 01, 2013
  • Bogdan Dit +3
  • Conference Article
  • Citations2

Lejacon: A Lightweight and Efficient Approach to Java Confidential Computing on SGX

  • May 01, 2023
  • Xinyuan Miao +9
  • Conference Article

EagerMerge: an optimistic technique for efficient points-to analysis

  • Jul 18, 2016
  • Sudhir Samrit +1
  • Research Article
  • Citations15

Quantifying and evaluating the space overhead for alternative C++ memory layouts

  • Mar 05, 2003
  • Software: Practice and Experience
  • Peter F Sweeney +1
  • Conference Article
  • Citations38

Precise Dynamic Impact Analysis with Dependency Analysis for Object-oriented Programs

  • Aug 01, 2007
  • Lulu Huang +1
  • PDF
  • Research Article
  • Citations14

CLOTHO: directed test generation for weakly consistent database systems

  • Oct 10, 2019
  • Proceedings of the ACM on Programming Languages
  • Kia Rahmani +3
  • Conference Article
  • Citations1

Collections Frameworks for Points-To Analysis

  • Jan 01, 2012
  • Tobias Gutzmann +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.