中文

BackportBench:用于自动化 backporting 的多语言基准

软件工程 2025-12-02 v1 计算与语言 密码学与安全

摘要

许多现代软件项目快速演化以整合新功能和安全补丁。用户更新依赖项以获得更安全的版本至关重要,但许多人仍使用较旧且易受攻击的包版本,因为升级困难且可能破坏现有代码库。软件开发人员可以通过将安全补丁 backport 到较旧版本来缓解此问题。然而,手动 backport 耗时且容易出错。现有自动化 backport 技术在通用软件上的有效性尚不明确,因为它们通常仅针对代码块或函数级别的 patch 移植场景,且使用不完美的度量标准进行评估。为促进自动化 backport 技术的开发与评估,我们引入 BackportBench——第一个全面基准套件用于 patch backport 问题。BackportBench 是一个多语言基准,包含来自 PyPI、Maven 和 npm 的 202 个 patch backport 问题,每个问题都包含可执行的 Docker 环境和相关测试用例。我们评估了现有 patch 移植方法和具有潜力适用于此任务的 LLM 技术。结果表明,代理方法在需要逻辑和结构性变更的情形下优于传统 patch 移植方法,但性能在不同编程语言间存在差异。基于这些发现,我们为未来关于自动化 backport 的研究者和软件实践者提出了若干启示。

关键词

引用

@article{arxiv.2512.01396,
  title  = {BackportBench: A Multilingual Benchmark for Automated Backporting of Patches},
  author = {Zhiqing Zhong and Jiaming Huang and Pinjia He},
  journal= {arXiv preprint arXiv:2512.01396},
  year   = {2025}
}

备注

Under review