Analyzing software patterns network obtained from Portland pattern repository
Hironori Washizaki, Suthinan Thanintranon, Masashi Kadoya, Yoshiaki Fukazawa, Takeshi Kawamura, Joseph William Yoder · 2014
Software patterns are general reusable solutions to commonly occurring problems within a given context. Patterns usually form a network of relationships that support how to understand and utilize the patterns efficiently and effectively. However little is known about the nature of such pattern networks, such as the of a pattern and its meaning. To clarify such characteristics of software patterns, we mine a network consisting 283 patterns from the current world-largest online pattern repository called Portland Pattern Repository (PPR). By applying network analysis techniques to the mined network and careful review of the result, we revealed several interesting characteristics of the pattern network and patterns in PPR, such as that the degree could be useful to support developers and to more easily understand whether patterns under consideration are core patterns or peripheral ones in the entire pattern network. The betweeness centrality seems to be useful to support ways to identify those patterns that play a role of hub and grasp relationships among different pattern groups. 1 Moreover we believe these findings could contribute to further researches on pattern networks.