Analysis of low-level code using cooperating decompilers

被引:0
|
作者
Chang, Bor-Yuh Evan [1 ]
Harren, Matthew [1 ]
Necula, George C. [1 ]
机构
[1] Univ Calif Berkeley, Berkeley, CA 94720 USA
来源
STATIC ANALYSIS, PROCEEDINGS | 2006年 / 4134卷
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Analysis or verification of low-level code is useful for minimizing the disconnect between what is verified and what is actually executed and is necessary when source code is unavailable or is, say, intermingled with inline assembly. We present a modular framework for building pipelines of cooperating decompilers that gradually lift the level of the language to something appropriate for source-level fools. Each decompilation stage contains an abstract interpreter that encapsulates its findings about the program by translating the program into a higherlevel intermediate language. We provide evidence for the modularity of this framework through the implementation of multiple decompilation pipelines for both x86 and MIPS assembly produced by gcc, gcj, and coolc (a compiler for a pedagogical Java-like language) that share several low-level components. Finally, we discuss our experimental results that apply the BLAST model checker for C and the Cqual analyzer to decompiled assembly.
引用
收藏
页码:318 / 335
页数:18
相关论文
共 50 条
  • [1] Shape analysis for low-level code
    Yang, Hongseok
    STATIC ANALYSIS, PROCEEDINGS, 2006, 4134 : 280 - 280
  • [2] COOPERATING PROCESSES FOR LOW-LEVEL VISION - A SURVEY
    DAVIS, LS
    ROSENFELD, A
    ARTIFICIAL INTELLIGENCE, 1981, 17 (1-3) : 245 - 263
  • [3] THE VERIFICATION OF LOW-LEVEL CODE
    CLUTTERBUCK, DL
    CARRE, BA
    SOFTWARE ENGINEERING JOURNAL, 1988, 3 (03): : 97 - 111
  • [4] A framework for static analysis and verification of low-level RTOS code
    Manjunath, Vignesh
    Baunach, Marcel
    JOURNAL OF SYSTEMS ARCHITECTURE, 2024, 154
  • [5] A Scalable Memory Model for Low-Level Code
    Rakamaric, Zvonimir
    Hu, Alan J.
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2009, 5403 : 290 - 304
  • [6] Achieving type safety for low-level code
    Morrisett, G
    LOGIC PROGRAMMING, PROCEEDINGS, 2003, 2916 : 1 - 2
  • [7] Achieving type safety for low-level code
    Morrisett, Greg
    Lect. Notes Comput. Sci., 1600, (1-2):
  • [8] Achieving type safety for low-level code
    Morrisett, G
    ADVANCES IN COMPUTING SCIENCE - ASIAN 2003: PROGRAMMING LANGUAGES AND DISTRIBUTED COMPUTATION, 2003, 2896 : 1 - 2
  • [9] Mechanized, Compositional Verification of Low-Level Code
    Bartels, Bjoern
    Jaehnig, Nils
    NASA FORMAL METHODS, NFM 2014, 2014, 8430 : 98 - 112
  • [10] Algebraic Matching of Vulnerabilities in a Low-Level Code
    Letychevskyi, Oleksandr
    Hryniuk, Yaroslav
    Yakovlev, Viktor
    Peschanenko, Volodymyr
    Radchenko, Viktor
    ISECURE-ISC INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2019, 11 (03): : 1 - 7