Developing an agent-based simulation model of software evolution

Abstract Context In attempt to simulate the factors that affect the software evolution behaviour and possibly predict it, several simulation models have been developed recently. The current system dynamic (SD) simulation model of software evolution process was built based on actor-network theory (ANT) of software evolution by using system dynamic environment, which is not a suitable environment to reflect the complexity of ANT theory. In addition the SD model has not been investigated for its ability to represent the real-world process of software evolution. Objectives This paper aims to re-implements the current SD model to an agent-based simulation environment ‘Repast’ and checks the behaviour of the new model compared to the existing SD model. It also aims to investigate the ability of the new Repast model to represent the real-world process of software evolution. Methods a new agent-based simulation model is developed based on the current SD model's specifications and then tests similar to the previous model tests are conducted in order to perform a comparative evaluation between of these two results. In addition an investigation is carried out through an interview with an expert in software development area to investigate the model's ability to represent real-world process of software evolution. Results The Repast model shows more stable behaviour compared with the SD model. Results also found that the evolution health of the software can be calibrated quantitatively and that the new Repast model does have the ability to represent real-world processes of software evolution. Conclusion It is concluded that by applying a more suitable simulation environment (agent-based) to represent ANT theory of software evolution, that this new simulation model will show more stable bahaviour compared with the previous SD model; And it will also shows the ability to represent (at least quantatively) the real-world aspect of software evolution.

[1]  Marc D Halley Think big, act small. , 2012, Healthcare financial management : journal of the Healthcare Financial Management Association.

[2]  Chrystopher L. Nehaniv,et al.  Fact and Artifact: Reification and Drift in the History and Growth of Interactive Software Systems , 2001, Cognitive Technology.

[3]  G. Nigel Gilbert,et al.  Agent-Based Models , 2007 .

[4]  Dirk Helbing,et al.  Agent-Based Modeling , 2012 .

[5]  Eric Bonabeau,et al.  Agent-based modeling: Methods and techniques for simulating human systems , 2002, Proceedings of the National Academy of Sciences of the United States of America.

[6]  M. M. Lehman,et al.  Software process white box modelling for FEAST/1 , 1999, J. Syst. Softw..

[7]  B. Latour On actor-network theory : A few clarifications , 1996 .

[8]  Meir M. Lehman,et al.  System dynamics modelling of software evolution processes for policy investigation: Approach and example , 2001, J. Syst. Softw..

[9]  Steven L. Lytinen,et al.  Agent-based Simulation Platforms: Review and Development Recommendations , 2006, Simul..

[10]  Scott E. Page,et al.  Agent-Based Models , 2014 .

[11]  Capers Jones,et al.  Why software fails , 1996 .

[12]  Michael J. North,et al.  Experiences creating three implementations of the repast agent modeling toolkit , 2006, TOMC.

[13]  Chrystopher L. Nehaniv,et al.  Software Evolutionary Dynamics Modelled as the Activity of an Actor-Network , 2006, 2006 Second International IEEE Workshop on Software Evolvability (SE'06).

[14]  P. I. Okwu,et al.  Software Evolution: Past, Present and Future , 2014 .

[15]  K. K. Cetina,et al.  Unscrewing the big Leviathan: how actors macro- structure reality and how sociologists help them to do so , 2014 .

[16]  Michael J. North,et al.  Agent-based modeling and simulation , 2009, Proceedings of the 2009 Winter Simulation Conference (WSC).