Hybrid Top-down and Bottom-up Interprocedural Analysis

被引:0
|
作者
Zhang, Xin [1 ]
Mangal, Ravi [1 ]
Naik, Mayur [1 ]
Yang, Hongseok [2 ]
机构
[1] Georgia Inst Technol, Atlanta, GA 30332 USA
[2] Univ Oxford, Oxford OX1 2JD, England
基金
英国工程与自然科学研究理事会;
关键词
D O I
10.1145/2666356.2594328
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Interprocedural static analyses are broadly classified into top-down and bottom-up, depending upon how they compute, instantiate, and reuse procedure summaries. Both kinds of analyses are challenging to scale: top-down analyses are hindered by ineffective reuse of summaries whereas bottom-up analyses are hindered by inefficient computation and instantiation of summaries. This paper presents a hybrid approach SWIFT that combines top-down and bottom-up analyses in a manner that gains their benefits without suffering their drawbacks. SWIFT is general in that it is parametrized by the top-down and bottom-up analyses it combines. We show an instantiation of SWIFT on a type-state analysis and evaluate it on a suite of 12 Java programs of size 60-250 KLOC each. SWIFT outperforms both conventional approaches, finishing on all the programs while both of those approaches fail on the larger programs.
引用
收藏
页码:249 / 258
页数:10
相关论文
共 50 条