• DocumentCode
    154174
  • Title

    Parallel Pointer Analysis with CFL-Reachability

  • Author

    Yu Su ; Ding Ye ; Jingling Xue

  • Author_Institution
    Sch. of Comput. Sci. & Eng., UNSW, Sydney, NSW, Australia
  • fYear
    2014
  • fDate
    9-12 Sept. 2014
  • Firstpage
    451
  • Lastpage
    460
  • Abstract
    This paper presents the first parallel implementation of pointer analysis with Context-Free Language (CFL) reachability, an important foundation for supporting demand queries in compiler optimisation and software engineering. Formulated as a graph traversal problem (often with context- and field-sensitivity for desired precision) and driven by queries (issued often in batch mode), this analysis is non-trivial to parallelise. We introduce a parallel solution to the CFL-reachability-based pointer analysis, with context- and field-sensitivity. We exploit its inherent parallelism by avoiding redundant graph traversals with two novel techniques, data sharing and query scheduling. With data sharing, paths discovered in answering a query are recorded as shortcuts so that subsequent queries will take the shortcuts instead of re-traversing its associated paths. With query scheduling, queries are prioritised according to their statically estimated dependences so that more redundant traversals can be further avoided. Evaluated using a set of 20 Java programs, our parallel implementation of CFL-reachability-based pointer analysis achieves an average speedup of 16.2X over a state-of-the-art sequential implementation on 16 CPU cores.
  • Keywords
    Java; context-free languages; program compilers; program diagnostics; query processing; reachability analysis; software engineering; CFL-reachability-based pointer analysis; Java program; compiler optimisation; context-free language reachability; context-sensitivity; data sharing; field-sensitivity; graph traversal problem; parallel implementation; parallel pointer analysis; query answering; query scheduling; redundant graph traversal; sequential implementation; software engineering; Algorithm design and analysis; Context; Java; Multicore processing; Parallel processing; Scheduling; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing (ICPP), 2014 43rd International Conference on
  • Conference_Location
    Minneapolis MN
  • ISSN
    0190-3918
  • Type

    conf

  • DOI
    10.1109/ICPP.2014.54
  • Filename
    6957254