Javascript must be enabled for the correct page display

Is Design Pattern Grime Related to Technical Debt?

Terna, Ana and Machnik, Karol (2023) Is Design Pattern Grime Related to Technical Debt? Bachelor's Thesis, Computing Science.

[img]
Preview
Text
bCS_2023_TernaA_MachnikK.pdf

Download (1MB) | Preview
[img] Text
toestemming.pdf
Restricted to Registered users only

Download (145kB)

Abstract

The GoF (Gang-of-Four) design patterns have had a significant impact on software quality and have become a fundamental part of software design. They provide developers with proven solutions to common programming problems by promoting code reusability, abstraction, and maintainability. However, accumulations of artifacts that deviate from the intended structure and principles of design patterns lead to a phenomenon called pattern grime. Technical debt is another leading cause of decreased code quality and has emerged as a result of time constraints, shortcuts, or suboptimal solutions which require refactoring efforts. This research study explores the relationship between design pattern grime and technical debt in Java projects. By analyzing four metrics related to class and modular grime, we investigate the accumulation of grime and its association with technical debt. Two approaches are utilized to measure technical debt: employing static code analysis tools and considering self-admitted technical debt instances extracted from code comments. Moreover, to analyze the relationship between grime and technical debt, we employed two statistical methods: t-test and chi-square. The findings reveal that class grime is associated with a decrease in the accumulation of technical debt. Conversely, technical debt is linked to an increase in the number of alien attributes, while the number of alien public methods remains unchanged. Moreover, the presence of technical debt is linked to a decrease in afferent coupling and an increase in efferent coupling. Through this comprehensive investigation, we contribute valuable insights into the intricate interplay between design pattern grime and technical debt, shedding light on their implications for software systems. These findings provide researchers and practitioners with a solid foundation for further exploration and considerations in the context of system complexity, maintainability, and modularity.

Item Type: Thesis (Bachelor's Thesis)
Supervisor name: Feitosa, D. and Rastogi, A.
Degree programme: Computing Science
Thesis type: Bachelor's Thesis
Language: English
Date Deposited: 31 Jul 2023 09:31
Last Modified: 02 Aug 2023 11:37
URI: https://fse.studenttheses.ub.rug.nl/id/eprint/30390

Actions (login required)

View Item View Item