TY - GEN
T1 - Parallelizing Flow-Sensitive Demand-Driven Points-to Analysis
AU - Yu, Haibo
AU - Sun, Qiang
AU - Xiao, Kejun
AU - Chen, Yuting
AU - Mine, Tsunenori
AU - Zhao, Jianjun
N1 - Funding Information:
Acknowledgement This research is supported in part by the National Nature Science Foundation of China (Grant No. 61572312), JSPS KAKENHI Grant 18H04097 and 19H04086, and KSU Foundation Research (Grant A-2 No.283).
Publisher Copyright:
© 2020 IEEE.
PY - 2020/12
Y1 - 2020/12
N2 - Ahstract-Points-to analysis is a fundamental, but computationally intensive technique for static program analysis, optimization, debugging and verification. Context-Free Language (CFL) reachability has been proposed and widely used in demand-driven points-to analyses that aims for computing specific points-to relations on demand rather than all variables in the program. However, CFL-reachability-based points-to analysis still faces challenges when applied in practice especially for flow-sensitive points-to analysis, which aims at improving the precision of points-to analysis by taking account of the execution order of program statements. We propose a scalable approach named Parseeker to parallelize flow-sensitive demand-driven points-to analysis via CFL-reachability in order to improve the performance of points-to analysis with high precision. Our core insights are to (1) produce and process a set of fine-grained, parallelizable queries of points-to relations for the objective program, and (2) take a CFL-reachability-based points-to analysis to answer each query. The MapReduce is used to parallelize the queries and three optimization strategies are designed for further enhancing the efficiency.
AB - Ahstract-Points-to analysis is a fundamental, but computationally intensive technique for static program analysis, optimization, debugging and verification. Context-Free Language (CFL) reachability has been proposed and widely used in demand-driven points-to analyses that aims for computing specific points-to relations on demand rather than all variables in the program. However, CFL-reachability-based points-to analysis still faces challenges when applied in practice especially for flow-sensitive points-to analysis, which aims at improving the precision of points-to analysis by taking account of the execution order of program statements. We propose a scalable approach named Parseeker to parallelize flow-sensitive demand-driven points-to analysis via CFL-reachability in order to improve the performance of points-to analysis with high precision. Our core insights are to (1) produce and process a set of fine-grained, parallelizable queries of points-to relations for the objective program, and (2) take a CFL-reachability-based points-to analysis to answer each query. The MapReduce is used to parallelize the queries and three optimization strategies are designed for further enhancing the efficiency.
UR - http://www.scopus.com/inward/record.url?scp=85099347344&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85099347344&partnerID=8YFLogxK
U2 - 10.1109/QRS-C51114.2020.00026
DO - 10.1109/QRS-C51114.2020.00026
M3 - Conference contribution
AN - SCOPUS:85099347344
T3 - Proceedings - Companion of the 2020 IEEE 20th International Conference on Software Quality, Reliability, and Security, QRS-C 2020
SP - 91
EP - 97
BT - Proceedings - Companion of the 2020 IEEE 20th International Conference on Software Quality, Reliability, and Security, QRS-C 2020
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 20th IEEE International Conference on Software Quality, Reliability, and Security, QRS 2020
Y2 - 11 December 2020 through 14 December 2020
ER -