This study examines whether AI assistants affect software maintainability, finding no significant impact on code evolvability by other developers. By Markus Borg, Dave Hewett, Nadim Hagatulah, Noric Couderc, Emma Söderberg, Donald Graham, Uttam Kini, Dave Farley.
Generative AI is rapidly transforming software development, disrupting the discipline as we know it. Tools based on Large Language Models (LLMs), such as GitHub Copilot and ChatGPT, have seen widespread adoption among developers. The former exemplifies an IDE-integrated code completion assistant, while ChatGPT represents a general-purpose tool that supports chat-based programming. The appeal of AI assistants for code synthesis is clear and, as we will review in Section 2.3, several empirical studies, in fact, suggest that working with them can lead to significant productivity gains.
This study investigates whether co-development with AI assistants affects software maintainability, specifically how easily other developers can evolve the resulting source code. We conducted a two-phase, preregistered controlled experiment involving 151 participants, 95% of whom were professional developers. In Phase 1, participants added a new feature to a Java web application, with or without AI assistance. In Phase 2, a randomized controlled trial, new participants evolved these solutions without AI assistance.
AI coding assistants appear to boost short-term productivity without harming maintainability, at least within the scope of this experiment. The authors note that potential long-term risks (e.g., code bloat or reduced developer understanding) still require further study. Excellent read!
[Read More]