Visualizing Design Erosion: How Big Balls of Mud are Made

07/16/2018
by   David Baum, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/27/2017

Control and Data Flow Execution of Java Programs

Since decade understanding of programs has become a compulsory task for ...
research
10/11/2019

Design Smell Analysis for Developing and Established Open Source Java Software

Software design smells are design attributes which violate the fundament...
research
01/18/2023

Multi-objective Software Architecture Refactoring driven by Quality Attributes

Architecture optimization is the process of automatically generating des...
research
06/04/2020

Design Science Research Process: A Model for Producing and Presenting Information Systems Research

The authors design and demonstrate a process for carrying out design sci...
research
05/25/2021

Finance 4.0: Design principles for a value-sensitive cryptoecnomic system to address sustainability

Cryptoeconomic systems derive their power but can not be controlled by t...
research
10/25/2014

The Karlskrona manifesto for sustainability design

Sustainability is a central concern for our society, and software system...
research
05/07/2023

On the perceived relevance of critical internal quality attributes when evolving software features

Several refactorings performed while evolving software features aim to i...

Please sign up or login with your details

Forgot password? Click here to reset