Experiences on Managing Technical Debt with Code Smells and AntiPatterns

03/21/2021
by   Jacinto Ramirez Lahti, et al.
0

Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt does not offer actionable advice on how to get rid of it. To get to a practical level in solving problems, more focused mechanisms are needed. Commonly used approaches for this include identifying code smells as quick indications of possible problems in the codebase and detecting the presence of AntiPatterns that refer to overt, recurring problems in design. There are known remedies for both code smells and AntiPatterns. In paper, our goal is to show how to effectively use common tools and the existing body of knowledge on code smells and AntiPatterns to detect technical debt and pay it back. We present two main results: (i) How a combination of static code analysis and manual inspection was used to detect code smells in a codebase leading to the discovery of AntiPatterns; and (ii) How AntiPatterns were used to identify, characterize, and fix problems in the software. The experiences stem from a private company and its long-lasting software product development effort.

READ FULL TEXT

page 4

page 5

research
12/23/2020

A Framework for Self-Admitted Technical Debt Identification and Description

Technical debt occurs when software engineers favour short-term operabil...
research
08/02/2019

The Technical Debt Dataset

Technical Debt analysis is increasing in popularity as nowadays research...
research
02/16/2018

Code smells

Code smells as symptoms of poor design and implementation choices. Many ...
research
04/24/2019

Examination of tools for managing different dimensions of Technical Debt

With lots of freemium and premium, open and closed source software tools...
research
05/04/2022

WeakSATD: Detecting Weak Self-admitted Technical Debt

Speeding up development may produce technical debt, i.e., not-quite-righ...
research
03/26/2019

The Personal Software Process, Experiences from Denmark

Software process improvement (SPI) research and practice is transforming...
research
02/02/2022

Targeted Code Inspection based on Human Errors

As a direct cause of software defects, human error is the key to underst...

Please sign up or login with your details

Forgot password? Click here to reset