Evolutionary Coupling of Files in the Software System Rabbit 

node types: source code file, change transaction of version repository
edge type: file was changed in change transaction
number of nodes: 203 files and 203 transactions [the equality is coincidence]
number of edges: 1343

Changes of software systems are less expensive and less error-prone if they affect only one subsystem. Thus groups of files that frequently change together are subsystem candidates. The edge-repulsion LinLog drawing helps to identify such groups. It shows only the files (but files and change transactions were used to compute the drawing). The colors indicate the membership of the files in subsystems in the existing decomposition of the software system.

Application scenarios for such drawings include:

The positions of files that changed rarely (small circles) should not be over-interpreted, because a certain minimum number of changes is necessary to reliably assign a file to group.

 

Edge-repulsion LinLog model
(click on the picture to view VRML file)

 

Fruchterman-Reingold model (for comparision) Node-repulsion LinLog model (for comparison)

 

back