Popis: |
Context Software systems need to be of high enough quality to enable growth and stability.Goal The purpose of this research is to study the effects of code changes that violate a design pattern's intended role on the quality of a project.Method To investigate this problem, we have developed a grime injector to model grime growth, a form of design pattern decay, on Java projects. We use SonarQube's technical debt software to compare the technical debt scores of six different types of modular grime. These six types can be classified along three major dimensions: strength, scope, and direction.Results We find that the strength dimension is the most important contributor to the quality of a design and that temporary grime results in higher technical debt scores than persistent grime.Conclusion This knowledge helps with design decisions that help manage a project's technical debt. |