Towards physical laws for software architecture

Starting from the pioneering works on software architecture precious guidelines have emerged to indicate how computer programs should be organized. For example the "separation of concerns" suggests to split a program into modules that overlap in functionality as little as possible. However these recommendations are mainly conceptual and are thus hard to express in a quantitative form. Hence software architecture relies on the individual experience and skill of the designers rather than on quantitative laws. In this article I apply the methods developed for the classification of information on the World-Wide-Web to study the organization of Open Source programs in an attempt to establish the statistical laws governing software architecture.

[1]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[2]  Konstantin Avrachenkov,et al.  Algorithms and models for the web-graph : 6th international workshop, WAW 2009, Barcelona, Spain, February 12-13, 2009 : proceedings , 2009 .

[3]  Albert-László Barabási,et al.  Statistical mechanics of complex networks , 2001, ArXiv.

[4]  Edsger W. Dijkstra,et al.  Selected Writings on Computing: A personal Perspective , 1982, Texts and Monographs in Computer Science.

[6]  Amy Nicole Langville,et al.  Google's PageRank and beyond - the science of search engine rankings , 2006 .

[7]  Dima Shepelyansky,et al.  Delocalization transition for the Google matrix , 2009, Physical review. E, Statistical, nonlinear, and soft matter physics.

[8]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[9]  Eli Upfal,et al.  Using PageRank to Characterize Web Structure , 2002, Internet Math..

[10]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[11]  Debora Donato,et al.  Large scale properties of the Webgraph , 2004 .

[12]  S. N. Dorogovtsev,et al.  Evolution of networks , 2001, cond-mat/0106144.

[13]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[14]  T Maillart,et al.  Empirical tests of Zipf's law mechanism in open source Linux distribution. , 2008, Physical review letters.

[15]  M. Newman,et al.  The structure of scientific collaboration networks. , 2000, Proceedings of the National Academy of Sciences of the United States of America.