RELAY:通过规则复用和智能体修复扩展历史构建恢复
RELAY: Scaling Historical Build Restoration through Rule Reuse and Agentic Repair
精选理由
深度 91 / 新颖度 85,来自 arXiv cs.AI。
AI 摘要
漏洞基准和软件工程研究依赖于重建历史软件。然而,构建依赖于基础镜像和软件包等外部资源,而这些资源的变化独立于源代码。在本研究中,我们针对 14,159 个 OSS-Fuzz 案例考察了这种环境衰退现象。我们发现,69.7% 的案例已无法完成重建和验证,并且大多数失败都具有少数几种反复出现的失败症状。因此,可以对某类重复性失败进行一次诊断,并复用其修复方案。我们提出了 Relay,这是一种混合框架:它使用 LLM 从具有代表性的失败中推导并验证确定性修复规则,在无需调用模型的情况下复用这些规则,并将规则无法解决的案例升级交由逐案例智能体处理。我们在人工引导和全自动的规则推导活动中评估了 Relay,并将其与逐案例智能体方法进行了比较。我们发现,规则推导可以完全自动化,而且可复用规则恢复的构建数量与逐案例智能体相当,但所需的构建执行次数更少。不过,智能体能够恢复规则无法处理的案例。我们的结果表明,先应用规则、再将剩余案例升级交由智能体处理的混合方法,比单独采用任一方法都能恢复更多构建,并且成本低于单独使用智能体。