We present a study of three large object-oriented software systems—VisualWorks Smalltalk, Java JDK and Eclipse—searching for scaling laws in some of their properties. We study four system properties related to code production, namely the inheritance hierarchies, the naming of variables and methods, and the calls to methods. We systematically found power-law distributions in these properties, most of which have never been reported before. We were also able to statistically model the programming activities leading to the studied properties as Yule processes, with very good correspondence between empirical data and the prediction of Yule model. The fact that a design and optimization process like software development can be modeled on the large with the laws of statistical physics poses intriguing issues to software engineers, and could be exploited for finding new metrics and quality measures.
On the suitability of Yule process to stochastically model some properties of object-oriented systems
MARCHESI, MICHELE;PINNA, SANDRO;
2006-01-01
Abstract
We present a study of three large object-oriented software systems—VisualWorks Smalltalk, Java JDK and Eclipse—searching for scaling laws in some of their properties. We study four system properties related to code production, namely the inheritance hierarchies, the naming of variables and methods, and the calls to methods. We systematically found power-law distributions in these properties, most of which have never been reported before. We were also able to statistically model the programming activities leading to the studied properties as Yule processes, with very good correspondence between empirical data and the prediction of Yule model. The fact that a design and optimization process like software development can be modeled on the large with the laws of statistical physics poses intriguing issues to software engineers, and could be exploited for finding new metrics and quality measures.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.