Title :
Precision vs. scalability: Context sensitive analysis with prefix approximation
Author :
Medicherla, Raveendra Kumar ; Komondoor, Raghavan
Author_Institution :
TCS Ltd., Bangalore, India
Abstract :
Context sensitive inter-procedural dataflow analysis is a precise approach for static analysis of programs. It is very expensive in its full form. We propose a prefix approximation for context sensitive analysis, wherein a prefix of the full context stack is used to tag dataflow facts. Our technique, which is in contrast with suffix approximation that has been widely used in the literature, is designed to be more scalable when applied to programs with modular structure. We describe an instantiation of our technique in the setting of the classical call-strings approach for inter-procedural analysis. We analyzed several large enterprise programs using an implementation of our technique, and compared it with the fully context sensitive, context insensitive, as well as suffix-approximated variants of the call-strings approach. The precision of our technique was in general less than that of suffix approximation when measured on entire programs. However, the precision that it offered for outer-level procedures, which typically contain key business logic, was better, and its performance was much better.
Keywords :
approximation theory; data flow analysis; business logic; call-strings approach; context sensitive analysis; context sensitive inter-procedural dataflow analysis; dataflow fact; inter-procedural analysis; large enterprise program; modular structure; outer-level procedure; prefix approximation; program static analysis; suffix approximation; Abstracts; Approximation methods; Context; Lattices; Proposals; Sensitivity; Transfer functions;
Conference_Titel :
Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
Conference_Location :
Montreal, QC
DOI :
10.1109/SANER.2015.7081838