Disposable Implementations: What Is Software Engineering For?
Story 2, from arXiv
This paper explores the idea of 'regeneration'—replacing existing code with new implementations generated from requirements and tests. It questions whether this approach could reduce technical debt but also highlights risks of losing unrecorded knowledge and behavior.
Key points
- Regeneration involves creating new implementations from requirements, tests, and constraints, potentially replacing existing code.
- Disposable implementations may reduce maintenance costs and technical debt, but risk losing undocumented knowledge and behavior.
- Current examples show agents can replace code, but no evidence confirms repeated regeneration is safe or cost-effective.
- The paper raises questions about what should be preserved if implementations become disposable.
- The study is based on an exploratory review of practitioner literature and lacks empirical validation.
Why it matters
As AI tools become more capable of generating code, this paper challenges software engineers to rethink the role of maintenance and what should be preserved in a world where code can be regenerated. It highlights both opportunities and risks in shifting from maintenance to regeneration.
Counterpoint
The paper lacks empirical evidence and concrete examples of regeneration being safe or economical, leaving many questions unanswered about its practical impact on software engineering practices.
Sources
This summary was written by a language model and may contain errors. Read the original for the full story.