From Requirements to Code: Understanding Developer Practices in LLM-Assisted Software Engineering
Jonathan Ullrich, Matthias Koch, Andreas Vogelsang

TL;DR
This study explores how developers currently adapt requirements and design artifacts for LLM-assisted code generation, revealing that manual decomposition and enrichment are essential steps, thus highlighting the ongoing importance of traditional RE work.
Contribution
The paper introduces a theory explaining developer practices in preparing requirements for LLMs, emphasizing the continued need for manual requirements engineering in AI-assisted coding.
Findings
Requirements are too abstract for direct LLM input.
Developers decompose requirements into programming tasks.
Design decisions and constraints are added before prompting.
Abstract
With the advent of generative LLMs and their advanced code generation capabilities, some people already envision the end of traditional software engineering, as LLMs may be able to produce high-quality code based solely on the requirements a domain expert feeds into the system. The feasibility of this vision can be assessed by understanding how developers currently incorporate requirements when using LLMs for code generation-a topic that remains largely unexplored. We interviewed 18 practitioners from 14 companies to understand how they (re)use information from requirements and other design artifacts to feed LLMs when generating code. Based on our findings, we propose a theory that explains the processes developers employ and the artifacts they rely on. Our theory suggests that requirements, as typically documented, are too abstract for direct input into LLMs. Instead, they must first…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Model-Driven Software Engineering Techniques
