There is a newer version of the record available.

Published April 25, 2021 | Version v1

What Do Developers Discuss About Design? Exploring Design Knowledge in Stack Overflow and GitHub

Authors/Creators

Description

Note: Please refer to the README.md file for instructions.

Abstract: StackOverflow is a rich source of questions and answers---discussions---about software development. One type of discussion concerns software design topics, such as the correct use of design patterns, or best practices in data access. Since design is one of the more abstract topics in software engineering, researchers have long sought to characterize and model design knowledge. However, these approaches typically require significant expert input in order to contextualize the abstract design information. In this study, we explore how the StackOverflow and Software Engineering Stack Exchange (SESE) datasets might serve as a low-cost, contextualized design knowledge repository. We first perform a qualitative analysis of design-tagged StackOverflow and SESE questions and answers to identify the design concepts developers discuss. We find that these codes can be divided into design-specific concepts, such as design patterns or dependency management. We also examine the expected response (such as the correct usage of the pattern) and the purpose for the question (e.g., to resolve an error). We then apply Latent Dirichlet Allocation (LDA) to create a list of design-related topics. Using this LDA model we show how links from existing open-source projects on GitHub can be characterized according to the design question they reference, which may provide a way to extract contextual design information with little or no human intervention.

Files

replication-package.zip

Files (549.1 MB)

Name Size
md5:a4fe3e0055cd8da05cb2395dbdf52c5b
549.1 MB Preview Download