Using LLMs in Software Design: An Empirical Study of GitHub and A Practitioner Survey
Yifei Wang, Ruiyin Li, Peng Liang, Yangxiao Cai, Zengyang Li, Mojtaba Shahin, Arif Ali Khan, Qiong Feng

TL;DR
This study empirically examines how developers use Large Language Models like ChatGPT in software design, revealing benefits, limitations, and interaction patterns through GitHub conversations and practitioner surveys.
Contribution
It provides the first comprehensive analysis of LLM usage in software design, categorizing design tasks, interactions, benefits, and limitations from real-world data.
Findings
Nine categories of design tasks supported by ChatGPT.
Developers mainly use ChatGPT for knowledge and code generation.
Identified benefits include better technology choices and early flaw detection.
Abstract
Recent advancements in Large Language Models (LLMs) have demonstrated significant potential across a wide range of software engineering tasks, including software design, an area traditionally regarded as highly dependent on human expertise and judgment. However, there has been little research focusing on how LLMs are used in software design, nor on the associated benefits and drawbacks. This paper aims to bridge this gap by empirically investigating how software developers utilize LLMs in the context of software design. We conduct a mixed-methods study, combining a mining study of 291 developer-ChatGPT conversations shared on GitHub with a survey of 65 software practitioners. Our findings reveal nine distinct categories of design tasks supported by ChatGPT, including architecture design, data model design, and the use of design patterns. We further characterize developer-ChatGPT…
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.
