PLAIMay 21, 2023

SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly

arXiv:2305.12520v341 citations
Originality Highly original
AI Analysis

This addresses the challenge of generating portable, accurate decompiled code for security and legacy code tasks, representing a strong specific gain over existing methods.

The paper tackles the problem of decompiling optimized assembly code into readable, correct source code by introducing SLaDe, a small language model decompiler that achieves up to 6 times higher accuracy than Ghidra and up to 4 times higher accuracy than ChatGPT on real-world functions.

Decompilation is a well-studied area with numerous high-quality tools available. These are frequently used for security tasks and to port legacy code. However, they regularly generate difficult-to-read programs and require a large amount of engineering effort to support new programming languages and ISAs. Recent interest in neural approaches has produced portable tools that generate readable code. However, to-date such techniques are usually restricted to synthetic programs without optimization, and no models have evaluated their portability. Furthermore, while the code generated may be more readable, it is usually incorrect. This paper presents SLaDe, a Small Language model Decompiler based on a sequence-to-sequence transformer trained over real-world code. We develop a novel tokenizer and exploit no-dropout training to produce high-quality code. We utilize type-inference to generate programs that are more readable and accurate than standard analytic and recent neural approaches. Unlike standard approaches, SLaDe can infer out-of-context types and unlike neural approaches, it generates correct code. We evaluate SLaDe on over 4,000 functions from ExeBench on two ISAs and at two optimizations levels. SLaDe is up to 6 times more accurate than Ghidra, a state-of-the-art, industrial-strength decompiler and up to 4 times more accurate than the large language model ChatGPT and generates significantly more readable code than both.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes