Using LLMs in Software Design: An Empirical Study of GitHub and A Practitioner Survey
This paper presents a mixed-methods empirical study combining a mining analysis of 291 GitHub conversations and a survey of 65 practitioners to characterize how developers utilize LLMs for software design tasks, revealing nine distinct application categories, seven key benefits, and six significant limitations that highlight the current tension between the technology's potential and its practical challenges.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine software design as the process of architecting a massive, complex city. Before a single brick is laid, architects must decide where the roads go, how the buildings connect, what materials to use, and how the sewage system works. This is "software design."
For decades, this job was done entirely by human experts. But recently, a new tool has arrived: Large Language Models (LLMs), like ChatGPT. Think of these models as super-smart, incredibly fast interns who have read almost every book ever written about coding and city planning. They can talk to you, answer questions, and even draw blueprints.
This paper is a field study to answer a simple question: How are real software architects actually using these "super-interns" to design their cities, and does it work?
The researchers didn't just guess; they looked at two sources of evidence:
- The "Diary" (Mining Study): They looked at 291 real conversations shared on GitHub where developers chatted with ChatGPT about design problems.
- The "Interview" (Survey): They asked 65 software developers directly, "How do you use these tools, and what do you like or hate about them?"
Here is what they found, broken down into simple concepts:
1. What Jobs Are the "Interns" Doing? (The Tasks)
The study found that developers aren't just asking the AI to write a single line of code. They are using it for nine specific types of design work, ranging from the big picture to the small details:
- The Big Picture (Architecture): Deciding if the city should be one giant building or a cluster of small houses (microservices).
- The Blueprint (Data Models): Designing how information is stored, like organizing a library's filing system.
- The Rules of the Road (Interfaces): Figuring out how different parts of the system talk to each other.
- The Safety Checks (Security): Planning how to lock the doors and windows.
- The "Fix-It" Crew (Refactoring): Taking an old, messy design and cleaning it up.
The Analogy: It's like hiring an intern who can help you sketch the city layout, draw the plumbing diagrams, and suggest security gates, but you still have to be the one to hold the pen and make the final call.
2. How Do They Talk to the "Intern"? (The Interaction)
The researchers discovered that this isn't a "one-and-done" interaction.
- It's a Conversation, Not a Command: On average, a developer and the AI go back and forth about 6 times to solve a single design problem.
- The Pattern: The developer asks a question, the AI gives an answer, the developer says, "That's too vague," or "Try it this way," and the AI tries again.
- The Focus: Most of these conversations happen at the "Detailed Design" level. This is like arguing about the specific type of brick to use or the exact placement of a window, rather than arguing about where the whole city should be built.
The Analogy: Using the AI for design is like navigating a maze with a GPS that sometimes gets lost. You have to keep correcting it, saying, "No, turn left here, not right," until you finally find the exit.
3. What Are the Superpowers? (The Benefits)
The developers reported seven main benefits, with the top two being:
- The "Better Google": The AI is often faster and more helpful than a traditional search engine for finding design ideas. It acts like a knowledgeable librarian who can instantly summarize complex topics.
- The "Early Warning System": The AI is surprisingly good at spotting flaws in a design before anyone builds it. It might say, "Hey, if you build it this way, the traffic will get jammed later," saving the team from future headaches.
Other benefits included helping new team members understand the project quickly and suggesting new, creative ideas the humans hadn't thought of.
4. What Are the Super-Weaknesses? (The Limitations)
However, the "super-intern" has some serious flaws that make it tricky to use:
- The "Wall of Text" Problem: The AI often writes way too much. Instead of a clear blueprint, it gives you a 50-page essay. Developers found this hard to read and frustrating.
- The "Broken Blueprint" Problem: Sometimes the AI generates code or designs that look good on paper but don't actually work when you try to run them. It's like an architect drawing a bridge that looks beautiful but would collapse if you put a car on it.
- The "Amnesia" Problem: The AI is very sensitive to context. If you don't give it enough details about your specific project, it might hallucinate (make things up) or give advice that fits a different city entirely.
- The "File Upload" Struggle: It's hard to upload entire project folders to the AI. It's like trying to explain your city's layout by reading a list of street names one by one, rather than showing a map.
The Bottom Line
The paper concludes that LLMs are excellent "explorers" but not yet "decision-makers."
They are fantastic for:
- Brainstorming ideas.
- Checking for obvious mistakes.
- Learning new concepts quickly.
- Drafting initial sketches.
But they are not ready to replace the human architect. The human must still verify the work, fix the broken parts, and make the final decisions. The relationship is a partnership: the AI provides the raw material and the suggestions, but the human provides the judgment and the final polish.
In short: Using an LLM for software design is like having a very fast, very knowledgeable, but occasionally hallucinating co-pilot. It can help you fly faster and spot storms early, but you still need to keep your hands on the controls.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.