Terna, Ana and Machnik, Karol (2023) Is Design Pattern Grime Related to Technical Debt? Bachelor's Thesis, Computing Science.
|
Text
bCS_2023_TernaA_MachnikK.pdf Download (1MB) | Preview |
|
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 |