论文

减少补丁移植中的隐式不一致

Mitigating Implicit Inconsistencies in Patch Porting

摘要

及时将补丁从源代码库移植到其变体(例如分叉和分支)对于减少传播的缺陷和漏洞至关重要。最近的研究探索了自动补丁移植以减少手动工作和延迟,但现有方法主要处理补丁本地上下文中可见的不一致问题,并与那些需要代码库之间全局映射知识的问题作斗争。我们将这种非局部不一致称为隐式不一致。由于隐式不一致的非本地性质,给开发人员解决带来了更大的挑战。为了解决这些问题,我们提出了 MIP,它可以实现 LLM、编译器和代码分析实用程序之间的协作。 MIP 针对不同的情况采用不同的策略:当目标代码库中存在源标识符时,它利用编译器诊断;否则,它从两个代码库中检索匹配的代码段对作为缓解的映射知识。对两个代表性场景(跨分叉和跨分支补丁移植)的实验表明,在这两种设置中,MIP 成功解决的补丁数量是性能最佳基线的两倍多。与我们的行业合作伙伴进行的用户研究进一步证明了其实际有效性。