STILL: Recovering Lowered STL Semantics for LLM-assisted C++ Decompilation

📅 2026-08-26
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
STILL通过从剥离的控制流图预测STL容器语义并提供紧凑提示,改善LLM辅助C++反编译的可读性和可执行性。
📝 Abstract
LLM-assisted decompilation improves readability and re-executability, but still underperforms on stripped C++ functions that use the Standard Template Library (STL). Compilation, optimization, and symbol stripping remove or obscure source-level semantics such as container types and library-call structure, while traditional decompiler output often fails to recover them. We present STILL, a structured semantic interface that predicts function-level STL container semantics from stripped control-flow graphs and renders them as compact hints for LLM refinement. On StlBench, STILL predicts common container-level STL semantics, with the strongest cross-dataset results for stable string and vector slices. On stripped HumanEval decompilation, these hints enable DeepSeek-chat refinement to reach 28.4% executability, compared with 17.4% for no-hint refinement and 8.9% for raw Ghidra decompilation; hint utility is downstream-backbone-dependent, with decompilation-specialized models requiring lightweight adaptation to benefit from the same interface.
Problem

Research questions and friction points this paper is trying to address.

LLM-assisted decompilation
Standard Template Library (STL)
stripped C++ functions
source-level semantics
control-flow graphs
Innovation

Methods, ideas, or system contributions that make the work stand out.

STL Semantics Recovery
Control-Flow Graphs
LLM-assisted Refinement
Decompilation
🔎 Similar Papers