2024 · 会议论文
StackSight:借助大语言模型与神经符号思维链反编译揭示 WebAssembly
StackSight: Unveiling WebAssembly through Large Language Models and Neurosymbolic Chain-of-Thought Decompilation
StackSight 借助大语言模型提示,将 WebAssembly 文本格式(WAT)函数反编译为 C++。它先通过静态分析为每条 WAT 指令标注虚拟栈状态,在分支分叉处使用符号记法;再用单样例思维链提示,要求模型恢复变量含义、总结函数功能并写出 C++。使用 GPT-4 时,与单样例提示相比,通过全部基准测试的输出比例在 HumanEval-X 上从 19.7% 升至 36.5%,在 MBXP 上从 42.4% 升至 59.6%;论文还评估了 GPT-3.5 与 Code Llama-7B-Instruct。
研究范围与局限
输入是 HumanEval-X(164 个中 161 个可编译)与 MBXP(974 个中 773 个)C++ 子集中的简短练习函数,以 Emscripten 3.1.46 按 -Oz 编译为侧模块,通过 --profiling-funcs 保留函数名,再用 wasm2wat 1.0.33 转换;未评估经过压缩、混淆或完整应用规模的 WebAssembly。正确性指输出能够编译并通过基准测试用例的比例;测试判定器会重命名函数、插入测试并补充命名空间指令,按值传参则由人工修改。通过这些测试并不证明与原始模块等价。函数摘要以 BERTScore 和 SBERT 评分;用户研究有 15 名参与者,每个数据集 20 个代码片段。wasm2c 与一种早期神经反编译器因无法生成可编译输出而未纳入比较,结果也依赖特定版本的托管模型。
与本合集的关联
补充由静态栈分析引导的大语言模型 WebAssembly 反编译方法,覆盖网页应用所交付的字节码格式,与本节的原生代码反编译论文并列。
发表与复核详情
- 发表载体
- ICML 2024
- 发表状态
- 会议论文
- 出版/提交日期
- 2024 年 7 月 8 日
- 日期依据
- PMLR 标明第 235 卷于 2024 年 7 月 8 日出版,论文页面给出的引用日期与此相同。本条目不以 7 月 21—27 日的会议日期或 2024 年 6 月的 arXiv 提交日期作为出版日期。
- arXiv 首次提交
- 2024 年 6 月 7 日
- arXiv
- 2406.04568
- 已复核的 arXiv 版本
- v1
PMLR 列出 Proceedings of the 41st International Conference on Machine Learning、PMLR 第 235 卷第 13010–13028 页,未给出 DOI。arXiv 仅有 2024-06-07 的 v1,其备注引用 ICML 2024 论文集。所用模型为 gpt-3.5-turbo-1106、gpt-4-0125-preview 与 Code Llama-7b-Instruct;GPT-4 仅与单样例提示比较,GPT-3.5 与 Code Llama 的基线另含 3、5、10 样例提示。附录给出 emcc 与 wasm2wat 命令及提示词。论文链接了 WABT、Emscripten 等第三方工具,但未提供作者代码、提示词仓库或评测框架,本次也未找到。本次未运行代码或实验。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。