🤖 AI Summary
The prevailing claim that large language models (LLMs) will fully replace software engineers lacks rigorous validation, particularly regarding core software engineering activities such as maintenance and reliability assurance.
Method: We systematically analyze the nature of software engineering, survey industrial practices, assess LLM capabilities against real-world tasks, and ground our analysis in human-AI collaboration theory.
Contribution/Results: We demonstrate that code generation constitutes only a localized component of the software workflow; critical activities—including system evolution, fault diagnosis, and trustworthiness assurance—depend heavily on tacit knowledge and long-horizon contextual understanding, representing fundamental bottlenecks for current LLMs. This work introduces, for the first time, “capability to maintain complex systems” as a principled metric for delineating the boundaries of AI substitution. It clarifies LLMs’ auxiliary role in development versus their intrinsic limitations in operations, evolution, and assurance—thereby providing a theoretical foundation and practical roadmap for AI-augmented, rather than AI-replaced, software engineering.
📝 Abstract
Artificial Intelligence (AI) technology such as Large Language Models (LLMs) have become extremely popular in creating code. This has led to the conjecture that future software jobs will be exclusively conducted by LLMs, and the software industry will cease to exist. But software engineering is much more than producing code -- notably, emph{maintaining} large software and keeping it reliable is a major part of software engineering, which LLMs are not yet capable of.