An improved bound for call strings based interprocedural analysis of bit vector frameworks
DSpace at IIT Bombay
View Archive InfoField | Value | |
Title |
An improved bound for call strings based interprocedural analysis of bit vector frameworks
|
|
Creator |
KARKARE, B
KHEDKER, UP |
|
Subject |
data-flow analysis
algorithms languages theory interprocedural data flow analysis bit vector data flow frameworks |
|
Description |
Interprocedural data flow analysis extends the scope of analysis across procedure boundaries in search of increased optimization opportunities. Call strings based approach is a general approach for performing flow and context sensitive interprocedural analysis. It maintains a history of calls along with the data flow information in the form of call strings, which are sequences of unfinished calls. Recursive programs may need infinite call strings for interprocedural data flow analysis. For bit vector frameworks this method is believed to require all call strings of lengths up to 3K, where K is the maximum number of distinct call sites in any call chain. We combine the nature of information flows in bit-vector data flow analysis with the structure of interprocedurally valid paths to bound the call strings. Instead of bounding the length of call strings, we bound the number of occurrences of any call site in a call string. We show that the call strings in which a call site appears at most three times, are sufficient for convergence on interprocedural maximum fixed point solution. Though this results in the same worst case length of call strings, it does not require constructing all call strings up to length 3K. Our empirical measurements on recursive programs show that our bound reduces the lengths and the number of call strings, and hence the analysis time, significantly.
|
|
Publisher |
ASSOC COMPUTING MACHINERY
|
|
Date |
2011-07-18T19:59:49Z
2011-12-26T12:50:48Z 2011-12-27T05:36:54Z 2011-07-18T19:59:49Z 2011-12-26T12:50:48Z 2011-12-27T05:36:54Z 2007 |
|
Type |
Article
|
|
Identifier |
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 29(6), -
0164-0925 http://dx.doi.org/10.1145/1286821.1286829 http://dspace.library.iitb.ac.in/xmlui/handle/10054/5047 http://hdl.handle.net/10054/5047 |
|
Language |
en
|
|