论文

MOA:用于代码库规模内存优化自动化的分析引导 LLM 框架

MOA: A Profiling-Guided LLM Framework for Memory-Optimization Automation at Codebase Scale

摘要

现代大型软件系统经常遭受普遍的内存效率低下(例如膨胀、流失)的困扰,导致资源成本过高和性能下降。现有的优化工作流程缺乏端到端自动化,迫使开发人员手动将复杂的工具输出合成为可操作且保留语义的修复程序,从而妨碍了大型代码库的可扩展性。为了解决这个问题,本文提出了 MOA,这是一种 LLM 驱动的框架,可以自动检测并修复生产规模代码库中重复出现的内存低效问题。具体来说,MOA 通过三个代理进行操作:从分析数据中挖掘反模式的分析器、通过模板引导的细化合成静态分析器的检查器生成器以及通过状态机驱动的工作流程生成优化补丁的修补程序。我们对 OpenHarmony(一个拥有超过 1 亿行 C/C++ 代码的开源操作系统)的评估表明,MOA 从 3 个分析服务中识别出 13 个反模式(9 个以前未知),在更广泛的 7 个服务中检测到 10,000 多个低效率问题,并生成 769 个补丁,专家接受率为 92.5%,实现了 42.2% 的堆减少和 10.6% 的二进制大小减少。平均。我们设想 MOA 是生产规模性能工程的一个有价值的工具。