I read a book called “Bursts – the hidden pattern behind everything we do” by Albert-Laszlo Barabasi known for the scale-free network concept and power laws. I thought it could be related to software visualization, but it is not quite. The book is an interesting read about scientifically predicting human behaviour (i.e. the future) by looking at the past. Essentially people do things in bursts which follow a power law. Some examples include when people write emails, how people travel, tracking money movement, and flight patterns of albatross. Obviously there are outliers which the book highlights some peoples activities. The one thing I disliked about the book was the history lesson about the Crusades.
One thing to do for software visualization with respect to this work is to look at how often developers commit code to see if they follow bursts, i.e. scale free networks whose degree distribution follows a power law. Some tools exist to visualize the commits from repositories such as code_swarm and Gource.
Arafat and Riehle have looked at The Commit Size Distribution of Open Source Software. They analyzed the size of code contributions to more than 9,000 open source projects. They reviewed the total distribution and distinguished three categories of code contributions using a size-based heuristic: single focused commits, aggregate team contributions, and repository refactorings. They found that both the overall distribution and the individual categories follow a power law.
It might be interesting to combine these software evolution visualization tools with this style of analysis.
Some related work with respect to software, scale free networks, and power laws:
- Lego Hypothesis
- Scale free networks in object-oriented programs
- Understanding Open Source Software Development
- Empirical Evidence for SOC Dynamics in Software Evolution
- Exploring Java software vocabulary: A search and mining perspective