|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Ming-Yu Hung, Peng-Sheng Chen, Yuan-Shin Hwang, Roy Dz-Ching Ju, Jenq-Kuen Lee, "Support of Probabilistic Pointer Analysis in the SSA Form," IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 12, pp. 2366-2379, Dec., 2012. | |||
| BibTex | x | ||
| @article{ 10.1109/TPDS.2012.73, author = {Ming-Yu Hung and Peng-Sheng Chen and Yuan-Shin Hwang and Roy Dz-Ching Ju and Jenq-Kuen Lee}, title = {Support of Probabilistic Pointer Analysis in the SSA Form}, journal ={IEEE Transactions on Parallel and Distributed Systems}, volume = {23}, number = {12}, issn = {1045-9219}, year = {2012}, pages = {2366-2379}, doi = {http://doi.ieeecomputersociety.org/10.1109/TPDS.2012.73}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Parallel and Distributed Systems TI - Support of Probabilistic Pointer Analysis in the SSA Form IS - 12 SN - 1045-9219 SP2366 EP2379 EPD - 2366-2379 A1 - Ming-Yu Hung, A1 - Peng-Sheng Chen, A1 - Yuan-Shin Hwang, A1 - Roy Dz-Ching Ju, A1 - Jenq-Kuen Lee, PY - 2012 KW - Algorithm design and analysis KW - Probabilistic logic KW - Program processors KW - Benchmark testing KW - Complexity theory KW - Flow graphs KW - static single assignment (SSA) form KW - Compiler KW - pointer analysis KW - control flow graph (CFG) VL - 23 JA - IEEE Transactions on Parallel and Distributed Systems ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2012.73
Probabilistic pointer analysis (PPA) is a compile-time analysis method that estimates the probability that a points-to relationship will hold at a particular program point. The results are useful for optimizing and parallelizing compilers, which need to quantitatively assess the profitability of transformations when performing aggressive optimizations and parallelization. This paper presents a PPA technique using the static single assignment (SSA) form. When computing the probabilistic points-to relationships of a specific pointer, a pointer relation graph (PRG) is first built to represent all of the possible points-to relationships of the pointer. The PRG is transformed by a sequence of reduction operations into a compact graph, from which the probabilistic points-to relationships of the pointer can be determined. In addition, PPA is further extended to interprocedural cases by considering function related statements. We have implemented our proposed scheme including static and profiling versions in the Open64 compiler, and performed experiments to obtain the accuracy and scalability. The static version estimates branch probabilities by assuming that every conditional is equally likely to be true or false, and that every loop executes 10 times before terminating. The profiling version measures branch probabilities dynamically from past program executions using a default workload provided with the benchmark. The average errors for selected benchmarks were 3.80 percent in the profiling version and 9.13 percent in the static version. Finally, SPEC CPU2006 is used to evaluate the scalability, and the result indicates that our scheme is sufficiently efficient in practical use. The average analysis time was 35.59 seconds for an average of 98,696 lines of code.
Index Terms:
Algorithm design and analysis,Probabilistic logic,Program processors,Benchmark testing,Complexity theory,Flow graphs,static single assignment (SSA) form,Compiler,pointer analysis,control flow graph (CFG)
Citation:
Ming-Yu Hung, Peng-Sheng Chen, Yuan-Shin Hwang, Roy Dz-Ching Ju, Jenq-Kuen Lee, "Support of Probabilistic Pointer Analysis in the SSA Form," IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 12, pp. 2366-2379, Dec. 2012, doi:10.1109/TPDS.2012.73
Usage of this product signifies your acceptance of the Terms of Use.

