Why Power Laws? An Explanation from Fine-Grained Code Changes

TitleWhy Power Laws? An Explanation from Fine-Grained Code Changes
Publication TypeConference Proceedings
Year of Publication2015
AuthorsLin, Zhongpeng, and Whitehead Jim
Refereed DesignationRefereed
KeywordsApache Maven, cvsanaly, eclipse, git, Google Guice, java, jedit, open source

Throughout the years, empirical studies have found
power law distributions in various measures across many software
systems. However, surprisingly little is known about how
they are produced. What causes these power law distributions?
We offer an explanation from the perspective of fine-grained
code changes. A model based on preferential attachment and selforganized
criticality is proposed to simulate software evolution.
The experiment shows that the simulation is able to render power
law distributions out of fine-grained code changes, suggesting
preferential attachment and self-organized criticality are the
underlying mechanism causing the power law distributions in
software systems.


"The data used in this section come from four open source Java projects. We used CVSANALY to collect data from their Git repositories."

msr2015.pdf7.54 MB