Simulating Software Evolution with Varying Numbers of Developers and Validation Using OSS

Benjamin Stopford, Steve Counsell, Emal Nasseri · 2009

An issue that has confounded the understanding of software development in the past is the role that different numbers of developers play in the construction and subsequent evolution of software. In this paper, we investigate that facet of software using a configurable simulation framework as a basis. The framework uses 'agents' to represent developers and models the costs associated with first comprehending and then applying necessary changes to a fictitious code base. It also considers agent 'memory recall' of their own code as a fundamental part of the framework and the fact that, with higher numbers of developers, maintenance of a higher proportion of other developers' code (rather than their own) is an inevitable, yet realistic aspect. Through exploration of the results and data produced by the simulation, we are able to explore 'desirable' features that are part of simulating software evolution; as a discussion of the issues raised by the framework, we provide a set of class data from four open-source systems by way of comparison and show that trends in those systems are comparable with results generated by the simulation. The paper thus provides evidence that we can use simulation tools to help model evolving systems, whether based on default settings or user-configurable settings.

Read the paper · More papers on PaperTik