Patch backporting, the process of migrating mainline security patches to older branches, is an essential task in maintaining popular open-source projects (e.g., Linux kernel). However, manual backporting can be labor-intensive, while existing automated methods, which heavily rely on predefined syntax or semantic rules, often lack agility for complex patches. In this paper, we introduce PORTGPT, an LLM-agent for end-to-end automation of patch backporting in real-world scenarios. PORTGPT enhances an LLM with tools to access code on-demand, summarize Git history, and revise patches autonomously based on feedback (e.g., from compilers), hence, simulating human-like reasoning and verification. PORTGPT achieved an 89.15% success rate on existing datasets (1815 cases), and 62.33% on our own dataset of 146 complex cases, both outperforms state-of-the-art of backporting tools. We contributed 9 backported patches from PORTGPT to the Linux kernel community and all patches are now merged.
翻译:补丁回传是将主线安全补丁迁移至旧版本分支的过程,是维护流行开源项目(如Linux内核)的关键任务。然而,人工回传工作繁重,而现有自动化方法过度依赖预定义的语法或语义规则,往往难以灵活处理复杂补丁。本文提出PORTGPT,一种面向实际场景的端到端补丁回传自动化LLM智能体。PORTGPT通过工具增强大型语言模型,实现按需访问代码、总结Git历史记录,并能基于反馈(如编译器输出)自主修订补丁,从而模拟类人推理与验证过程。在现有数据集(1815个案例)上,PORTGPT成功率达89.15%;在我们自建的146个复杂案例数据集上达到62.33%,均优于当前最先进的回传工具。我们已将PORTGPT生成的9个回传补丁贡献至Linux内核社区,所有补丁均已被合并。