• DocumentCode
    700378
  • Title

    Precision vs. scalability: Context sensitive analysis with prefix approximation

  • Author

    Medicherla, Raveendra Kumar ; Komondoor, Raghavan

  • Author_Institution
    TCS Ltd., Bangalore, India
  • fYear
    2015
  • fDate
    2-6 March 2015
  • Firstpage
    281
  • Lastpage
    290
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
  • Conference_Location
    Montreal, QC
  • Type

    conf

  • DOI
    10.1109/SANER.2015.7081838
  • Filename
    7081838