How Do OSS Developers Utilize Architectural Solutions from Q&A Sites: An Empirical Study

📅 2024-04-07
🏛️ arXiv.org
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
How do open-source developers learn and apply architecture-level solutions from Q&A platforms like Stack Overflow? Method: A mixed-methods empirical study combining mining of 984 GitHub commits/issues, thematic coding of 227 developer surveys, and qualitative interviews. Contribution/Results: This work presents the first systematic characterization of architectural solution practices on Q&A platforms: dominant questions concern component design, architectural anti-patterns, and security; prevalent solutions include refactoring, framework selection, and architectural tactics; and integration is largely unstructured. We identify seven recurring usage patterns, confirming that architectural solutions are frequently—but informally—adopted in OSS development. Key challenges include time-intensive contextual adaptation and the absence of standardized integration workflows. Our findings provide empirical grounding for improving architecture knowledge dissemination mechanisms and designing tooling support for architectural decision-making in collaborative software development.

Technology Category

Application Category

📝 Abstract
Developers utilize programming-related knowledge on Q&A sites that functionally matches the programming problems they encounter in their development. Despite extensive research on Q&A sites, being a high-level and important type of development-related knowledge, architectural solutions and their utilization are rarely explored. To fill this gap, we conducted a mixed-methods study that includes a mining study and a survey study. For the mining study, we mined 984 commits and issues from 893 OSS projects on GitHub that explicitly referenced architectural solutions from SO and SWESE. For the survey study, we identified practitioners involved in the utilization of these architectural solutions and surveyed 227 of them to further understand how practitioners utilize architectural solutions from Q&A sites in their OSS development. Our findings: (1) OSS practitioners use architectural solutions from Q&A sites to solve a large variety of architectural problems, wherein Component design issue, Architectural anti-pattern, and Security issue are dominant; (2) Seven categories of architectural solutions from Q&A sites have been utilized to solve those problems, among which Architectural refactoring, Use of frameworks, and Architectural tactic are the three most utilized architectural solutions; (3) OSS developers often rely on ad hoc ways (e.g., informal, improvised, or unstructured approaches) to incorporate architectural solutions from SO, drawing on personal experience and intuition rather than standardized or systematic practices; (4) Using architectural solutions from SO comes with a variety of challenges, e.g., OSS practitioners complain that they need to spend significant time to adapt such architectural solutions to address design concerns raised in their OSS development, and it is challenging to use architectural solutions that are not tailored to the design context of their OSS projects.
Problem

Research questions and friction points this paper is trying to address.

Open Source Software
Architecture Design
Learning Process
Innovation

Methods, ideas, or system contributions that make the work stand out.

Open Source Developers
Advanced Architectural Solutions
Mixed Research Methodology
🔎 Similar Papers
No similar papers found.