[Vis]ible [Vol]atility
This project is a reaction to the article "Software Volatility" in the 21st issue of PragPub. In this article the authors posit that the volatility, or change, of a file is proportional to it's "bugginess." That is, the more often a file is touched the more likely it is a source of problems in the code base. Where there is smoke, there is fire.
The purpose of visvol is to present the user with a graphical view of the volatility of a given software project. It does this by using a "squarified" treemap, focusing on two indicators of volatility.
-
churn - the total number of lines added or removed
-
commits - the total number of commits to the file
visvol uses area (size) to show the churn of each file relative to each other, and uses a linear color scale to encode the number of commits to a file relative to an absolute number. The result is a visualization that can quickly tell you what files might be due for some refactoring.
-
git clone git://github.com/rzezeski/visvol.git
-
cd visvol
-
make
(only need to do this once) -
./visvol --lookback 2000 . > repo-visvol.html
-
open repo-visvol.html