Parallel Flow-Sensitive Pointer Analysis by Graph-Rewriting


Autoria(s): Nagaraj, Vaivaswatha; Govindarajan, R
Data(s)

2013

Resumo

Precise pointer analysis is a problem of interest to both the compiler and the program verification community. Flow-sensitivity is an important dimension of pointer analysis that affects the precision of the final result computed. Scaling flow-sensitive pointer analysis to millions of lines of code is a major challenge. Recently, staged flow-sensitive pointer analysis has been proposed, which exploits a sparse representation of program code created by staged analysis. In this paper we formulate the staged flow-sensitive pointer analysis as a graph-rewriting problem. Graph-rewriting has already been used for flow-insensitive analysis. However, formulating flow-sensitive pointer analysis as a graph-rewriting problem adds additional challenges due to the nature of flow-sensitivity. We implement our parallel algorithm using Intel Threading Building Blocks and demonstrate considerable scaling (upto 2.6x) for 8 threads on a set of 10 benchmarks. Compared to the sequential implementation of staged flow-sensitive analysis, a single threaded execution of our implementation performs better in 8 of the benchmarks.

Formato

application/pdf

Identificador

http://eprints.iisc.ernet.in/49608/1/int_con_par_arc_aom_tec_19_2013.pdf

Nagaraj, Vaivaswatha and Govindarajan, R (2013) Parallel Flow-Sensitive Pointer Analysis by Graph-Rewriting. In: 22nd International Conference on Parallel Architectures and Compilation Techniques (PACT), SEP 07-11, 2013, Edinburgh, SCOTLAND, pp. 19-28.

Publicador

IEEE

Relação

http://dl.acm.org/citation.cfm?id=2523728

http://eprints.iisc.ernet.in/49608/

Palavras-Chave #Supercomputer Education & Research Centre
Tipo

Conference Proceedings

NonPeerReviewed