Title
A Fast and Precise Static Loop Analysis Based on Abstract Interpretation, Program Slicing and Polytope Models
Abstract
A static loop analysis is a program analysis computing loop iteration counts. This information is crucial for different fields of applications. In the domain of compilers, the knowledge about loop iterations can be exploited for aggressive loop optimizations like Loop Unrolling. A loop analyzer also provides static information about code execution frequencies which can assist feedback-directed optimizations. Another prominent application is the static worst-case execution time (WCET) analysis which relies on a safe approximation of loop iteration counts.In this paper, we propose a framework for a static loop analysis based on Abstract Interpretation, a theory of a sound approximation of program semantics. To accelerate the analysis, we preprocess the analyzed code using Program Slicing, a technique that removes statements irrelevant forthe loop analysis. In addition, we introduce a novel polytope-based loop evaluation that further significantly reduces the analysis time. The efficiency of our loop analyzer is evaluated on a large number of benchmarks. Results show that 99% of the considered loops could be successfully analyzed in an acceptable amount of time. This study points out that our methodology is best suited for real-world problems.
Year
DOI
Venue
2009
10.1109/CGO.2009.17
CGO
Keywords
Field
DocType
embedded system,application software,program slicing,computational modeling,loop analysis,acceleration,information analysis,polytope model,embedded computing,radiation detectors,static program analysis,frequency,computer science,data mining,optimization
Loop fusion,Computer science,Loop fission,Parallel computing,Do while loop,Real-time computing,Loop tiling,Loop inversion,Loop interchange,While loop,Loop counter
Conference
ISSN
Citations 
PageRank 
2164-2397
33
1.16
References 
Authors
21
4
Name
Order
Citations
PageRank
Paul Lokuciejewski11569.86
Daniel Cordes2633.39
Heiko Falk346231.54
Peter Marwedel41904184.40