Logo

6.9 Multiplication constellation

Code duplication is problematic because it introduces hidden dependencies between the duplicated parts. When multiple fragments are copied multiple times in several places, these dependencies become significantly more difficult to maintain.

The Multiplication Constellation visualization exposes the web of dependencies introduced by duplications. It shows each multiplication as a small white node, and each class as a larger gray node. The edges denote that a class is affected by a multiplication. By using a spring layout, we can identify multiple patterns.

The picture below shows an example of applying this visualization to the Running example: ArgoUML 0.28.1. The visualization can be spawned from the contextual menu of a MultiplicationGroup: Visualize/Multiplication constellation.

Multiplication constellation showing the how the code duplications introduce dependencies between the classes of ArgoUML

Add a Note