Probabilistic pointer analysis for multithreaded programs

被引:5
|
作者
El-Zawawy, Mohamed A. [1 ,2 ]
机构
[1] Al Imam MI SI Univ, Coll Comp & Informat Sci, Riyadh 11432, Saudi Arabia
[2] Cairo Univ, Fac Sci, Dept Math, Giza 12613, Egypt
来源
SCIENCEASIA | 2011年 / 37卷 / 04期
关键词
static analysis; speculative optimizations; probabilistic alias analysis; distributed programs; semantics of multithreaded programs; type systems; FLOW; OPTIMIZATIONS; LEVEL;
D O I
10.2306/scienceasia1513-1874.2011.37.344
中图分类号
O [数理科学和化学]; P [天文学、地球科学]; Q [生物科学]; N [自然科学总论];
学科分类号
07 ; 0710 ; 09 ;
摘要
The use of pointers and data-structures based on pointers results in circular memory references that are interpreted by a vital compiler analysis, namely pointer analysis. For a pair of memory references at a program point, a typical pointer analysis specifies if the points-to relation between them may exist, definitely does not exist, or definitely exists. The "may be" case, which describes the points-to relation for most of the pairs, cannot be dealt with by most compiler optimizations. This is so to guarantee the soundness of these optimizations. However, the "may be" case can be capitalized by the modern class of speculative optimizations if the probability that two memory references alias can be measured. Focusing on multithreading, a prevailing technique of programming, this paper presents a new flow-sensitive technique for probabilistic pointer analysis of multithreaded programs. The proposed technique has the form of a type system and calculates the probability of every points-to relation at each program point. The key to our approach is to calculate the points-to information via a post-type derivation. The use of type systems has the advantage of associating each analysis results with a justification (proof) for the correctness of the results. This justification has the form of a type derivation and is very much required in applications like certified code.
引用
收藏
页码:344 / 354
页数:11
相关论文
共 50 条
  • [1] Pointer analysis for multithreaded programs
    Rugina, R
    Rinard, M
    [J]. ACM SIGPLAN NOTICES, 1999, 34 (05) : 77 - 90
  • [2] Pointer and escape analysis for multithreaded programs
    Salcianu, A
    Rinard, M
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (07) : 12 - 23
  • [3] Pointer analysis of multithreaded Java programs
    Nanda, Mangala Gowri
    Ramesh, S.
    [J]. Proc ACM Symp Appl Computing, 1600, (1068-1075):
  • [4] Sparse Flow-Sensitive Pointer Analysis for Multithreaded Programs
    Sui, Yulei
    Di, Peng
    Xue, Jingling
    [J]. PROCEEDINGS OF CGO 2016: THE 14TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2016, : 160 - 170
  • [5] Flow Sensitive-Insensitive Pointer Analysis Based Memory Safety for Multithreaded Programs
    El-Zawawy, Mohamed A.
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2011, PT V, 2011, 6786 : 355 - 369
  • [6] Analysis of multithreaded programs
    Rinard, M
    [J]. STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 1 - 19
  • [7] Interprocedural probabilistic pointer analysis
    Chen, PS
    Hwang, YS
    Ju, RDC
    Lee, JK
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2004, 15 (10) : 893 - 907
  • [8] CARET Analysis of Multithreaded Programs
    Huu-Vu Nguyen
    Touili, Tayssir
    [J]. LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2017), 2018, 10855 : 73 - 90
  • [9] A Probabilistic pointer analysis for speculative optimizations
    Da Silva, Jeff
    Steffan, J. Gregory
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (11) : 416 - 425
  • [10] A systematic approach to probabilistic pointer analysis
    Di Pierro, Alessandra
    Hankin, Chris
    Wiklicky, Herbert
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2007, 4807 : 335 - 350