论文
从痕迹推理:WebAssembly 差异的分歧引导代理修复
Reasoning from Traces: Divergence-Guided Agentic Repair of WebAssembly Discrepancies
摘要
WebAssembly (Wasm) 承诺将 C/C++ 代码库无缝重用为可移植、快速、沙盒二进制文件。然而,在实践中,这一承诺往往无法实现:最近的研究表明,由于库实现差异或编译器错误,将相同的 C/C++ 源代码交叉编译为 Wasm 和本机二进制文件经常会导致运行时差异。由于根本原因在于平台级运行时并隐藏在源代码下方,因此即使是最先进的基于 LLM 的修复代理也常常无法修复这些差异。在本文中,我们提出了 WasmMend,这是第一个自动修复 Native-Wasm 功能差异的系统。 WasmMend 分两个阶段将无向探索转化为集中推理任务:首先,一种新颖的差分跟踪分析方法定位 Wasm 和本机执行最初分歧的函数;在此定位的指导下,LLM 代理会推理根本原因并生成消除不同行为的补丁。对现实 C/C++ 项目的实验表明,WasmMend 的修复率达到 70.0%,而代理基线的修复率为 50.2%,使用基于修复时间 LLM 的工具增强的方法的修复率为 54.5\%,这证明了跨平台修复的发散引导推理的价值。