SEJul 16, 2018

Visualizing Design Erosion: How Big Balls of Mud are Made

arXiv:1807.06136v17 citations
Originality Synthesis-oriented
AI Analysis

This addresses the issue of declining maintainability in software systems for software engineers and architects, but it is incremental as it builds on existing antipattern concepts.

The paper tackled the problem of design erosion in evolving Java programs by presenting a visualization that highlights antipatterns, and it was evaluated in four case studies with ten participants.

Software systems are not static, they have to undergo frequent changes to stay fit for purpose, and in the process of doing so, their complexity increases. It has been observed that this process often leads to the erosion of the systems design and architecture and with it, the decline of many desirable quality attributes, such as maintainability. This process can be captured in terms of antipatterns-atomic violations of widely accepted design principles. We present a visualisation that exposes the design of evolving Java programs, highlighting instances of selected antipatterns including their emergence and cancerous growth. This visualisation assists software engineers and architects in assessing, tracing and therefore combating design erosion. We evaluated the effectiveness of the visualisation in four case studies with ten participants.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes