DocumentCode :
2140291
Title :
Program Analysis Too Loopy? Set the Loops Aside
Author :
Larson, Eric
Author_Institution :
Comput. Sci. & Software Eng., Seattle Univ., Seattle, WA, USA
fYear :
2011
fDate :
25-26 Sept. 2011
Firstpage :
15
Lastpage :
24
Abstract :
Among the many obstacles in efficient and sound program analysis, loops may be the most prevalent. In program analyses that traverse paths, loops introduce a variable, possibly infinite, number of paths. This paper looks at whether loops could be analyzed separately and replaced with a summary. First, the complexity of a loop is estimated by counting the paths through the body of the loop. 85% of the loops have fewer than ten paths and less than 1% have more than 10,000 paths. Second, the number of paths is computed by analyzing loops separately to assess the feasibility of such an analysis approach. While the number of paths is decreased in many cases, it is typically not sufficient for long, complex functions. Finally, loops are classified based on their stopping condition and further analyzed for programming elements that may make loop analysis more difficult. Nearly half of the loops are array traversals and over half of the loops contain a function call.
Keywords :
program diagnostics; loop analysis; program analysis; programming element; stopping condition; Algorithm design and analysis; Arrays; Complexity theory; Flexible printed circuits; Flow graphs; Programming; loops; paths; program analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Source Code Analysis and Manipulation (SCAM), 2011 11th IEEE International Working Conference on
Conference_Location :
Williamsburg, VI
Print_ISBN :
978-1-4577-0932-6
Type :
conf
DOI :
10.1109/SCAM.2011.22
Filename :
6065193
Link To Document :
بازگشت