Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement
Yunlong Feng, Dechuan Teng, Yang Xu, Honglin Mu, Xiao Dong Xu, Libo Qin, Qingfu Zhu, Wanxiang Che · 2024
Decompilation transforms compiled code back into a high-level programming language for analysis when source code is unavailable.Previous work has primarily focused on enhancing decompilation performance by increasing the scale of model parameters or training data for pre-training.Based on the characteristics of the decompilation task, we propose two methods: (1) Without fine-tuning, the Self-Constructed Context Decompilation (sc 2 dec) method recompiles the LLM's decompilation results to construct pairs for in-context learning, helping the model improve decompilation performance.(2) Fine-grained Alignment Enhancement (FAE), which meticulously aligns assembly code with source code at the statement level by leveraging debugging information, is employed during the fine-tuning phase to achieve further improvements in decompilation.By integrating these two methods, we achieved a Re-Executability performance improvement of approximately 3.90% on the Decompile-Eval benchmark, establishing a new state-of-the-art performance of 52.41%.The code, data, and models are available at https://github.com/AlongWY/sccdec.