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

被引:31
|
作者
Lokuciejewski, Paul [1 ]
Cordes, Daniel [1 ]
Falk, Heiko [1 ]
Marwedel, Peter [1 ]
机构
[1] Embedded Syst Grp, D-44221 Dortmund, Germany
关键词
D O I
10.1109/CGO.2009.17
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:136 / 146
页数:11
相关论文
共 50 条
  • [31] Refining Abstract Interpretation-Based Static Analyses with Hints
    Laviron, Vincent
    Logozzo, Francesco
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5904 : 343 - +
  • [32] Industrial experience of abstract interpretation-based static analyzers
    Souyris, J
    BUILDING THE INFORMATION SOCIETY, 2004, 156 : 393 - 400
  • [34] Test coverage analysis based on program slicing
    Chen, ZQ
    Xu, BW
    Yang, HJ
    Chen, HW
    PROCEEDINGS OF THE 2003 IEEE INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION, 2003, : 559 - 565
  • [35] TEST COVERAGE ANALYSIS BASED ON PROGRAM SLICING
    Chen Zhenqiang Xu Baowen Guanjie (Dept. of Computer Science & Eng.
    JournalofElectronics(China), 2003, (03) : 232 - 236
  • [36] RSTVL: A sound abstract memory model for program static analysis
    Dong, Yukun
    2015 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND COMMUNICATION NETWORKS (CICN), 2015, : 1358 - 1362
  • [37] Fast and Precise Static Null Exception Analysis With Synergistic Preprocessing
    Sun, Yi
    Wang, Chengpeng
    Fan, Gang
    Shi, Qingkai
    Zhang, Xiangyu
    IEEE Transactions on Software Engineering, 2024, 50 (11): : 3022 - 3036
  • [38] Fast and Precise Static Null Exception Analysis With Synergistic Preprocessing
    Sun, Yi
    Wang, Chengpeng
    Fan, Gang
    Shi, Qingkai
    Zhang, Xiangyu
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (11) : 3022 - 3036
  • [39] Static Analysis by Abstract Interpretation of the Functional Correctness of Matrix Manipulating Programs
    Journault, Matthieu
    Mine, Antoine
    STATIC ANALYSIS, (SAS 2016), 2016, 9837 : 257 - 277
  • [40] Static analysis by abstract interpretation of functional properties of device drivers in TinyOS
    Ouadjaout, Abdelraouf
    Mine, Antoine
    Lasla, Noureddine
    Badache, Nadjib
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 120 : 114 - 132