Downloads provided by UsageCounts
Master's thesis of my software engineering studies at the University of Applied Sciences Upper Austria. --- Abstract: Design patterns are reusable solutions for commonly occurring problems in software design. First described in 1994 by the Gang of Four, they have gained widespread adoption in many areas of software development throughout the years. Furthermore, design patterns have also garnered an active research community around them, which investigates the effects that design patterns have on different software quality attributes. However, a common shortcoming of existing studies is that they only analyze the quality effects of design patterns on a relatively small scale, covering no more than a few hundred projects per case study. This calls into question how generalizable the results of these small-scale case studies are. Pursuing more generalizable results, this thesis conducts a much larger-scale analysis of the quality effects of design patterns. To accomplish this, software metric and design pattern data for 90,000 projects from the Maven Central repository is collected using the metrics calculation tool "CKJM extended" and the design pattern detection tool "SSA". Correlations between design patterns and software quality attributes are then analyzed using software metrics as proxies for software quality by following the methodology described by the QMOOD quality model. The results of the analysis suggest that design patterns are positively correlated with functionality and reusability, but negatively correlated with understandability, which is consistent with the results of existing smaller-scale case studies. --- The collected data can be found at: https://zenodo.org/record/3731872 The LaTeX sources are available on Overleaf: https://www.overleaf.com/read/vnfhydqxmpvx
Mining Software Repositories, Design Patterns, Software Quality
Mining Software Repositories, Design Patterns, Software Quality
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 7 | |
| downloads | 6 |

Views provided by UsageCounts
Downloads provided by UsageCounts