This paper describes a high-level system dynamics model of a real-world software evolution process. This process is implementing embedded software elements of a defence system composed of hardware and software components. The model is one of the outputs of the FEAST/1 project, which is investigating the role and effect of feedback in the global software process. The simple feedback-based model, which has resulted from a top-down modelling approach, demonstrates the influence of the global process on the evolution of the software specification and implementation. Model outputs closely simulate actual and expected metrics for the real-world project. It is concluded inter alia that feedback external to a software production process may significantly influence that process.
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.---- Copyright IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. --Original article can be found at: http://ieeexplore.ieee.org/ --DOI : 10.1109/SOFTWARE-EVOLVABILITY.2006.1
The SPE taxonomy of evolving software systems, first proposed by Lehman in 1980, is re-examined in this work. The primary concepts of software evolution are related to generic theories of evolution, particularly Dawkins' concept of a replicator, to the hermeneutic tradition in philosophy and to Kuhn's concept of paradigm. These concepts provide the foundations that are needed for understanding the phenomenon of software evolution and for refining the definitions of the SPE categories. In particular, this work argues that a software system should be defined as of type P if its controlling stakeholders have made a strategic decision that the system must comply with a single paradigm in its representation of domain knowledge. The proposed refinement of SPE is expected to provide a more productive basis for developing testable hypotheses and models about possible differences in the evolution of Eand P-type systems than is provided by the original scheme.
A number of studies of the long-term evolution of commercial software products over many releases have established a consistent pattern for growth in the size of the systems examined. This shows a trend towards a progressive slowdown in growth over time. The work described here forms the first step in developing a simulation of the combined effects of the causes of this trend. A number of simple system dynamics simulations, each capturing the causal structure and behaviour of one of a number of causes believed to contribute to the observed behaviour, and its calibration to follow the observed trend, is presented. These models are then combined into a single simulation model reflecting the effect in combination of these causes. Possible causes considered here are: the reduction over time in both the conceptual space which can be searched for new uses of a system and the design spaces constraining developers' ability to modify their systems, the effects of the degradation of the structure of a software system as is it is evolved in unanticipated directions, and the reducing coverage of developers' knowledge of the structure of the system. The combined model incorporates all of these causal mechanisms and introduces a relative weighting for each. The long-term aim of this work is to produce a simulation embodying those possible causes which are found to be supported by actual evidence. Calibration of this model to reflect the relative importance of each cause in a real-world situation should then enable it to reproduce the actual software system size trend, so assisting in identifying those causes which affect most significantly the growth trend of that system.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.