• DocumentCode
    1890396
  • Title

    Towards Path-Sensitive Points-to Analysis

  • Author

    Gutzmann, Tobias ; Lundberg, Jonas ; Lowe, Welf

  • Author_Institution
    Vaxjo Univ., Vaxjo
  • fYear
    2007
  • fDate
    Sept. 30 2007-Oct. 1 2007
  • Firstpage
    59
  • Lastpage
    68
  • Abstract
    Points-to analysis is a static program analysis aiming at analyzing the reference structure of dynamically allocated objects at compile-time. It constitutes the basis for many analyses and optimizations in software engineering and compiler construction. Sparse program representations, such as Whole Program Points-to Graph (WPP2G) and Points-to SSA (P2SSA), represent only dataflow that is directly relevant for points-to analysis. They have proved to be practical in terms of analysis precision and efficiency. However, intra-procedural control flow information is removed from these representations, which sacrifices analysis precision to improve analysis performance. We show an approach for keeping control flow related information even in sparse program representations by representing control flow effects as operations on the data transferred, i.e., as dataflow information. These operations affect distinct paths of the program differently, thus yielding a certain degree of path-sensitivity. Our approach works with both WPP2G and P2SSA representations. We apply the approach to P2SSA-based and flow-sensitive points-to analysis and evaluate a context-insensitive and a context-sensitive variant. We assess our approach using abstract precision metrics. Moreover, we investigate the precision improvements and performance penalties when used as an input to three source-code-level analyses: dead code, cast safety, and null pointer analysis.
  • Keywords
    program compilers; program control structures; program diagnostics; abstract precision metrics; path-sensitive points-to analysis; program compiler construction; program control flow structure; software engineering; sparse program representation; static program analysis; Data mining; Debugging; Information analysis; Optimizing compilers; Performance analysis; Program processors; Runtime; Safety; Scalability; Software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2007. SCAM 2007. Seventh IEEE International Working Conference on
  • Conference_Location
    Paris
  • Print_ISBN
    978-0-7695-2880-9
  • Type

    conf

  • DOI
    10.1109/SCAM.2007.26
  • Filename
    4362898