• DocumentCode
    3305500
  • Title

    A Fast and Precise Static Loop Analysis Based on Abstract Interpretation, Program Slicing and Polytope Models

  • Author

    Lokuciejewski, P. ; Cordes, Daniel ; Falk, Heiko ; Marwedel, P.

  • Author_Institution
    Dept. of Comput. Sci. 12, Embedded Syst. Group, Dortmund
  • fYear
    2009
  • fDate
    22-25 March 2009
  • Firstpage
    136
  • Lastpage
    146
  • 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 for the 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.
  • Keywords
    optimising compilers; program control structures; program slicing; abstract interpretation; aggressive loop optimization compiler; code execution frequency; polytope model; precise static loop analysis; program analysis computing loop iteration count; program semantic; program slicing; Acceleration; Application software; Computer science; Embedded computing; Embedded system; Frequency; Information analysis; Optimizing compilers; Pipeline processing; Program processors; WCET analysis; abstract interpretation; loop analysis; static program analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2009. CGO 2009. International Symposium on
  • Conference_Location
    Seattle, WA
  • Print_ISBN
    978-0-7695-3576-0
  • Type

    conf

  • DOI
    10.1109/CGO.2009.17
  • Filename
    4907658