GTK+ v2.28 Experiment

First-Order Dependency Matrix

Elements: 10,894, Density: 0.0089%

Visibility Dependency Matrix

Elements: 517,542, Propagation Cost: 42.08%

This is an experiment to see how useful and usable it is rendering interactive Dependency Structure Matrices (DSMs) using SVG via d3. Two DSMs are shown for a particular release of a GNOME project. The numbers along the axes represent source-code files sorted by directory and alphabetically. The first-order DSM shows direct dependencies between the software system's source-code files whereas the visibility DSM shows indirect dependencies as well, calculated via matrix multiplication based on the work of A. MacCormack et al (see this for more).

The first-order DSM is fully interactive! It works best if you have no other tabs open. Here's what you can do:

Initially, the visibility DSM was interactive too, allowing you to simultaneously manipulate both matrices, but evidently, browsers don't like handling 500,000 dynamic data points.

Next steps: add module and file data to be be able to identify and compare, among other things, core and periphery components.

September 6, 2011