MOA: A Profiling-Guided LLM Framework for Memory-Optimization Automation at Codebase Scale
For developers of large-scale software systems, MOA automates memory optimization at codebase scale, reducing manual effort and enabling scalable performance improvements.
MOA is an LLM-driven framework that automates detection and repair of memory inefficiencies in large codebases. On OpenHarmony (100M+ lines of C/C++), it identified 13 anti-patterns, detected over 10,000 inefficiencies, and generated 769 patches with 92.5% acceptance, achieving 42.2% heap reduction and 10.6% binary size reduction.
Modern large-scale software systems often suffer from pervasive memory inefficiencies (e.g., bloat, churn), leading to excessive resource costs and performance degradation. Existing optimization workflows lack end-to-end automation, forcing developers to manually synthesize complex tool outputs into actionable and semantics-preserving fixes, precluding scalability in large codebases. To address this, this paper presents MOA, an LLM-driven framework that automatically detects and repairs recurring memory inefficiencies across production-scale codebases. Specifically, MOA operates through three agents: an Analyzer that mines anti-patterns from profiling data, a Checker Generator that synthesizes static analyzers through template-guided refinement, and a Patcher that generates optimization patches via state-machine-driven workflows. Our evaluation on OpenHarmony, an open-source operating system with over 100 million lines of C/C++ code, shows that MOA identifies 13 anti-patterns (9 previously unknown) from 3 profiled services, detects over 10,000 inefficiencies across a broader set of 7 services, and generates 769 patches with 92.5% expert acceptance rate, achieving 42.2% heap reduction and 10.6% binary size reduction on average. We envision MOA as a valuable tool for performance engineering at production scale.