Browsing by Subject "AntiPatterns"

Sort by: Order: Results:

Now showing items 1-2 of 2
  • Ramirez Lahti, Jacinto; Tuovinen, Antti-Pekka; Mikkonen, Tommi (IEEE, 2021)
    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.
  • Ramirez Lahti, Jacinto (Helsingin yliopisto, 2020)
    Modern software development is faster than ever before with products needing to hit the markets in record time to be tested and modified to find a place in the market and start generating profit. This process often leads to an excessive amount of technical debt accrued even specially in the early experimental stages of the development of a new software product. This accumulated technical debt must then be amortized or otherwise it will hinder the future development of the product. This can in many cases be difficult not only by the time pressure for new requirements but by the nature of the problems behind the technical debt. These problems might not be apparent and appear just as symptoms that might not directly indicate the real source. In this thesis, an AntiPattern centric approach to the identification and fixing of the root causes of the technical debt was implemented in the context of a case study of the five-year-old codebase of a startup company. AntiPatterns were not only found and fixed from the codebase but from the Scrum methodologies used in the project and thus these were also analyzed and improved through AntiPattern analysis. The case study showed promise in this approach, generating concrete plans and actions towards decreasing the technical debt in the project. Being limited to the context of this one company and project, more research should be done on a larger scale to be able to generalize the results.