MaintainCoder: Maintainable Code Generation Under Dynamic Requirements

Wentao Zhang (Peking University) · Zhengren Wang (Peking University) · Rui ling (Peking University) · Chufan Wang (Peking University) · Yongan Yu (McGill University) · Sizhe Wang (Shanghai University of Finance and Economics) · Zhiyu li (Institute for Advanced Algorithms Research, Shanghai) · Feiyu Xiong (MemTensor (Shanghai) Technology Co., Ltd.)
code generationcohesioncouplingdesign patternsdynamic metricsexecution efficiencyfunctional correctnessmaintainabilitymaintainability standardsmaintainbenchmaintaincodermaintenance effortsmulti-agent collaborationresponsibility boundariesstatic metricswaterfall model

Modern code generation has made significant strides in functional correctness and execution efficiency. However, these systems often overlook a critical dimension in real-world software development: \textit{maintainability}. To handle dynamic requirements with minimal rework, we propose \textbf{MaintainCoder} as a pioneering solution. It integrates the Waterfall model, design patterns, and multi-agent collaboration to systematically enhance cohesion, reduce coupling, achieving clear responsibility boundaries and better maintainability. We also introduce \textbf{MaintainBench}, a benchmark comprising requirement changes and novel dynamic metrics on maintenance efforts. Experiments demonstrate that existing code generation methods struggle to meet maintainability standards when requirements evolve. In contrast, MaintainCoder improves dynamic maintainability metrics by more than 60\% with even higher correctness of initial codes. Furthermore, while static metrics fail to accurately reflect maintainability and even contradict each other, our proposed dynamic metrics exhibit high consistency. Our work not only provides the foundation for maintainable code generation, but also highlights the need for more realistic and comprehensive code generation research. Resources: https://github.com/IAAR-Shanghai/MaintainCoder.