论文
多源跨场景策略引导代码优化
Multi-Source and Cross-Scenario Strategy-Guided Code Optimization
摘要
自动化代码优化通过重构源代码来提高程序性能,最近的研究使用 LLM 来生成优化补丁。最新的方法是策略引导的:它们将历史优化提交的策略总结为静态分析规则,并使用这些规则来匹配 LLM 的代码位置以进行优化。然而,这些方法有两个局限性:(1)策略可能来自其他知识源,例如教科书和网页,但现有方法无法利用它们; (2)策略可能适用于不同的场景,例如不同的编程语言,但现有的方法只能针对源提交所属的场景形式化策略。为了解决这些限制,我们提出了 MoST,一种基于 LLM 的代码优化框架,跨场景集成了多个知识源。 MoST将不同知识源中的项目统一表示为证据对象,以跨源、跨场景的方式进行聚类以识别策略,并在需要时将其转移到目标场景以生成静态分析规则。为了实现这一过程,MoST 采用了一种新颖的自平衡加权聚类算法来平衡来自不同知识源的证据对象,并采用了一种新颖的示例传输程序来确保跨场景传输时生成的规则的质量。在包含 151 个 C/C++、150 个 Python 和 50 个 Rust 历史优化任务的基准测试中,与 SemOpt 相比,MoST 生成的补丁分别多出 24.44%-180.00% 和 21.88%-37.50%,这些补丁与开发者补丁完全相同或语义等效。在优化 15 个实际项目时,MoST 在项目性能测试中实现了 19.72%-717.42% 的最大改进和 4.44%-258.17% 的平均改进,显着优于 SemOpt 和 Codex。