Record Details

An improved bound for call strings based interprocedural analysis of bit vector frameworks

DSpace at IIT Bombay

View Archive Info
 
 
Field 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