Scalable Pointer Analysis of Data Structures using Semantic Models

被引:8
|
作者
Fegade, Pratik [1 ,2 ]
Wimmer, Christian [1 ]
机构
[1] Oracle Labs, Austin, TX 78741 USA
[2] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
来源
PROCEEDINGS OF THE 29TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION (CC '20) | 2020年
关键词
Pointer analysis; semantic models; data structure awareness; GraalVM Native Image; TO ANALYSIS; PRECISE;
D O I
10.1145/3377555.3377885
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Pointer analysis is widely used as a base for different kinds of static analyses and compiler optimizations. Designing a scalable pointer analysis with acceptable precision for use in production compilers is still an open question. Modern object oriented languages like Java and Scala promote abstractions and code reuse, both of which make it difficult to achieve precision. Collection data structures are an example of a pervasively used component in such languages. But analyzing collection implementations with full context sensitivity leads to prohibitively long analysis times. We use semantic models to reduce the complex internal implementation of, e.g., a collection to a small and concise model. Analyzing the model with context sensitivity leads to precise results with only a modest increase in analysis time. The models must be written manually, which is feasible because a model method usually consists of only a few statements. Our implementation in GraalVM Native Image shows a rise in useful precision (1.35X rise in the number of checkcast statements that can be elided over the default analysis configuration) with a manageable performance cost (19% rise in analysis time).
引用
收藏
页码:39 / 50
页数:12
相关论文
共 50 条
  • [1] Unique Lock Identification Using Scalable Pointer Analysis
    Zhang, Di
    2012 INTERNATIONAL CONFERENCE ON APPLIED INFORMATICS AND COMMUNICATION (ICAIC 2012), 2013, : 64 - 68
  • [2] Estimating the impact of scalable pointer analysis on optimization
    Das, M
    Liblit, B
    Fähndrich, M
    Rehof, J
    STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 260 - 278
  • [3] A scalable nonuniform pointer analysis for embedded programs
    Venet, A
    STATIC ANALYSIS, PROCEEDINGS, 2004, 3148 : 149 - 164
  • [4] A FAMILY OF HOMOGENEOUS ANALYSIS MODELS FOR THE DESIGN OF SCALABLE STRUCTURES
    FUCHS, MB
    ALI, RMH
    STRUCTURAL OPTIMIZATION, 1990, 2 (03): : 143 - 152
  • [5] Towards scalable flow and context sensitive pointer analysis
    Zhu, JW
    42nd Design Automation Conference, Proceedings 2005, 2005, : 831 - 836
  • [6] A Scalable Operational Framework for Requirements Validation Using Semantic and Functional Models
    Atoum, Issa
    PROCEEDINGS OF THE 2019 2ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND INFORMATION MANAGEMENT (ICSIM 2019) / 2019 2ND INTERNATIONAL CONFERENCE ON BIG DATA AND SMART COMPUTING (ICBDSC 2019), 2019, : 1 - 6
  • [7] Pointer analysis for programs with structures and casting
    Yong, SH
    Horwitz, S
    Reps, T
    ACM SIGPLAN NOTICES, 1999, 34 (05) : 91 - 103
  • [8] Symmetric symbolic safety-analysis of concurrent software with pointer data structures
    Wang, F
    Schmidt, K
    FORMAL TECHNIQUE FOR NETWORKED AND DISTRIBUTED SYSTEMS - FORTE 2002, PROCEEDINGS, 2002, 2529 : 50 - 64
  • [9] Data search and reorganization using FPGAs: Application to spatial pointer-based data structures
    Diniz, PC
    Park, J
    FCCM 2003: 11TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, PROCEEDINGS, 2003, : 207 - 217
  • [10] Data Reorganization and Prefetching of Pointer-Based Data Structures
    Park, Joonseok
    Diniz, Pedro C.
    IEEE DESIGN & TEST OF COMPUTERS, 2011, 28 (04): : 38 - 46