Back to Search
Start Over
Mining Design Pattern Use Scenarios and Related Design Pattern Pairs: A Case Study on Online Posts
- Source :
- Journal of Computer Science and Technology. 35:963-978
- Publication Year :
- 2020
- Publisher :
- Springer Science and Business Media LLC, 2020.
-
Abstract
- In common design pattern collections, e.g., design pattern books, design patterns are documented with templates that consist of multiple attributes, such as intent, structure, and sample code. To adapt to modern developers, the depictions of design patterns, especially some specific attributes, should advance with the current programming technologies, for example, “known uses”, which exemplifies the use scenarios of design patterns in practice, and “related patterns”, which describes the relatedness between a design pattern and the others within a context. However, it is not easy to update the contents of these attributes manually due to the diversity of the programming technologies. To address this problem, in this work, we conducted a case study to mine design pattern use scenarios and related design pattern pairs from Stack Overflow posts to enrich the two attributes. We first extracted the question posts relevant to each design pattern by identifying the design pattern tags. Then, the topics of the posts were discovered by applying topic modeling techniques. Finally, by analyzing the topics specified for each design pattern, we detected 195 design pattern use scenarios and 70 related design pattern pairs, involving 61 design patterns totally. These findings are associated with a variety of popular software frameworks and programming techniques. They could complement the existing design pattern collections and help developers better acknowledge the usage and relatedness of design patterns in today’s programming practice.
- Subjects :
- Structure (mathematical logic)
Information retrieval
Computer science
Design pattern
020207 software engineering
Context (language use)
Sample (statistics)
02 engineering and technology
computer.software_genre
Computer Science Applications
Theoretical Computer Science
Variety (cybernetics)
Software framework
Computational Theory and Mathematics
Hardware and Architecture
Software design pattern
0202 electrical engineering, electronic engineering, information engineering
computer
Software
Subjects
Details
- ISSN :
- 18604749 and 10009000
- Volume :
- 35
- Database :
- OpenAIRE
- Journal :
- Journal of Computer Science and Technology
- Accession number :
- edsair.doi...........c8275b8160d8678b80eea824cfe4a9c5