Title: Visualizing Design Erosion: How Big Balls of Mud are Made,
Abstract: 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.