- The paper empirically characterizes LLM usage in software design by mining 291 GitHub dialogues and surveying 65 practitioners to reveal task typology and iterative design interactions.
- The paper employs a mixed-methods approach with open coding and constant comparison to classify nine design task categories and quantify iterative dialogue rounds.
- The paper highlights practical implications for tool development and further research, emphasizing challenges like lengthy outputs, hallucinations, and context sensitivity.
Empirical Characterization of LLM Usage in Software Design
Research Motivation and Methodology
The paper "Using LLMs in Software Design: An Empirical Study of GitHub and A Practitioner Survey" (2605.01392) addresses the notable gap in the empirical understanding of how LLMs, particularly models like ChatGPT, are used in software design—a phase of the SDLC that has remained underexplored compared to code-centric tasks. Previous systematic reviews indicate that less than 1% of empirical studies focus explicitly on software design, despite the long-term implications of architectural decisions and their susceptibility to erosion and technical debt.
This study employs a mixed-methods approach, combining a mining study of 291 developer-ChatGPT conversations shared on GitHub with a survey of 65 practitioners to delineate real-world usage patterns, task typology, perceived benefits, and encountered limitations. The methodology is anchored in open coding and constant comparison techniques to analyze qualitative data and triangulate with practitioner insights.
Figure 1: Workflow for integrating mining study and practitioner survey into the research process.
Software Design Task Typology Supported by LLMs
Through qualitative analysis of the 291 ChatGPT conversation records, nine primary task categories emerge, collectively supported by LLMs:
- Interface and Protocol Design (19.4%): API specification, protocol implementation, and interface optimization dominate.
- Architecture Design (13.8%): Module decomposition, architectural trade-off analysis, and component orchestration.
- Data Model Design (11.4%): Entity-relationship definition, database schema generation, and data mapping strategies.
- Code Refactoring (10.4%): Structural, logical, and performance-driven refactoring leveraging design patterns.
- Component Dependency Optimization (5.1%): Resolving circular dependencies, decoupling, and dependency injection.
- Performance Optimization (8.2%): System performance tuning via caching, parallelism, and workload segregation.
- Security Design (9.0%): Threat modeling, authentication, and cryptographic mechanism selection.
- Use of Design Patterns (16.5%): Applying concrete design patterns for best-practices compliance.
- User Interface Design (6.1%): Front-end-related layout, interactive components, and UX optimization.
Survey results further calibrate these categories, with practitioners typically reporting engagement across 2–3 distinct design task domains per project cycle.
Figure 2: Distributional counts of the nine software design task categories mined from GitHub and validated by survey.
Characterization of Developer–LLM Interaction
Three core behavioral dimensions characterize LLM-driven design collaboration:
- Iterative Dialogues: Developer-LLM interaction averages 6.18 dialogue rounds per task, with non-trivial cases extending to 68 rounds, underscoring that design engagement is seldom one-shot and often requires iterative prompt refinement and context specification.
- Prompt Intent: Initiating prompts primarily fall under knowledge query (32.2%), code generation (30.3%), solution recommendation (23.7%), and design verification (13.8%). This distribution reveals strong demand for design exploration, concept clarification, and candidate artifact generation.
- Design Level Targeting: The majority of tasks are situated at the detailed design level (54%), notably at the granularity of classes, methods, and design patterns, followed by architectural-level concerns (30%) and lower-level code idioms (16%).
These dimensions are validated through both the mining study and practitioner survey, with statistically significant differences only in dialogue round counts, suggestive of variance between observed and self-reported experience.
Figure 3: Welcome page of the survey questionnaire—instrument used to capture practitioner views on LLM usage.
Perceived Benefits of LLMs in Software Design
Practitioners report seven significant benefits:
- Reduced overhead for early-stage design—facilitating increased focus on coding.
- Accelerated project onboarding—clarification of architecture and rationale.
- More effective retrieval of design information—serving as a superior search engine.
- Inspiration of innovative ideas—previously overlooked alternatives.
- Early detection of design flaws—catching inconsistencies proactively.
- Support for technology selection—navigating unfamiliar stacks.
- Concept interpretation—standardizing terminology for collaborative alignment.
Numerical results highlight search efficiency (38%) and early detection of flaws (34%) as top benefits. The diversity of perceived advantages underscores LLMs' role as exploratory, advisory tools rather than fully autonomous design agents.
Reported Limitations and Friction Points
Six major limitations are reported:
- Excessively lengthy, difficult-to-read outputs (49%), which increase cognitive load and reduce usability.
- Inexecutable or incorrect code generation (43%), necessitating manual validation or rework.
- Hallucinated responses (18%), introducing design content irrelevant to requirements context.
- Ambiguity from unclear requirement articulation (15%), affecting prompt efficacy.
- Limited artifact upload (17%), impeding holistic project analysis.
- Strong contextual reliance (12%), undermining robustness in handling complex design scenarios.
The evidence demonstrates persistent friction arising from alignment, validation, and integration challenges inherent to LLM-supported design workflows.
Practical and Theoretical Implications
The results motivate reconsideration of LLM roles in software design. Practitioners derive maximal utility from LLMs when tasks are exploratory, well-bounded, or focused on rapid prototyping and knowledge navigation. However, LLM-generated artifacts remain subject to rigorous human oversight, with responsibility for feasibility, correctness, and contextual fit placed firmly on developers.
For researchers, these findings clarify that evaluations of LLM-based design tools need to move beyond artifact plausibility and incorporate metrics for requirements coverage, decision traceability, and verification cost. Longitudinal, in-situ studies should interrogate how prompt specificity, artifact integration, and iterative design interactions impact downstream design quality and project maintainability.
For tool developers, there is an opportunity to bridge conversational LLM output with actionable, structured software artifacts, such as API sketches, ADRs, or refactoring plans, with improved support for project context ingestion, usability, and traceability.
Future Trajectories in AI-Assisted Software Design
Future directions include:
- Replications of these findings across alternate LLM architectures and industrial settings.
- Controlled studies quantifying improvement (or degradation) in design quality and labor cost using LLM-generated versus human-generated artifacts.
- Enhanced tool support for artifact ingestion, repository structure preservation, and output transformation to machine- and human-readable formats.
It is expected that advances in retrieval augmentation, context management, artifact linking, and long-context LLMs will further mitigate present limitations and expand LLM utility in complex, collaborative design environments.
Conclusion
This empirical study provides high-resolution evidence of LLM usage patterns, perceived benefits, and limitations in software design. LLMs offer significant exploratory, advisory, and accelerative value, predominantly at the detailed design level, but their output remains bounded by context sensitivity, verification cost, and integration friction. The observed interplay between perceived efficiency gains and practical limitations signals a transition from purely code-centric automation to more nuanced, human-in-the-loop design support paradigms. Future research and tool development should target robust context integration, artifact-driven workflows, and long-term design quality assessment to realize the full potential of AI-assisted software design.