[mml659,jfr66] M M Lehman and J F Ramil, Towards a Theory of Software Evolution - And Its Practical Impact, invited talk, ISPSE 2000, Intl. Symposium on the Principles of Software Evolution, Kanazawa, Japan, 1-2Nov. 2000
Abstract:
After years of study of software evolution processes, most recently in the FEAST projects, it appears that there is now a sufficient body of knowledge to provide a basis for development of a theory of software evolution rooted in axioms derived from observation. That body includes, for example, behavioural patterns and invariants in the behaviour and attributes of industrially evolved systems. This paper discusses the need for such a theory, underlying concepts and the contribution that the theory could make to the achievement of greater software evolvability and improved planning and management for effective and responsive evolution.[mml652,jfr48] J F Ramil and M M Lehman, Exploring Cost Estimation Models in the Context of Continuing Software Evolution, FESMA-AEMES Software Measurement Conference 2000 "Management Excellence through IT Measurement", Madrid, Spain, 18-20Oct. 2000
Abstract:
The paper introduces concepts and observations to be aware of when exploring the issue of effort estimation in the context of long-term software maintenance and evolution. In particular, it refers to issues arising in the construction of models that may be termed specific, that is, those based on historical data from the particular process and product of interest. Black-box and white-box modelling issues and their relationships are briefly discussed from this viewpoint. The convenience of piecewise models and when they might be appropriate is also considered. The paper suggests a procedure for the construction of black-box models in this wider context. A summary of results of a recent case study is provided. Keywords: Black-box models, empirical studies, model-based cost estimation, maintenance, management, metrics, planning, software evolution, system dynamics, white-box models.[mml602,jfr59] B W Chatters, M M Lehman, JF Ramil and P Wernick, Modelling A Software Evolution Process : A Long-term Case Study, J. of Softw. Proc.: Improvement and Practice, 2000 v. 5, iss. 2-3, Jul. 2000, pp. 95-102
Abstract:
This paper describes a high-level System Dynamics model of a real-world software evolution process. This process is evolving the kernel (low-level routines) of VME, the operating system of a long-lived and successful series of ICL mainframe computers. The model has been developed as part of the continuing FEAST project, which is investigating the role and impact of feedback in the global software process. The modelling approach is top-down, which has resulted in a simple model reflecting elements of the global software process at a high level of abstraction. The actual behaviour of the software evolution process being studied, in terms of enhancements completed and modules added to the kernel over a period of 13 years, is simulated by model outputs. The work reported here, together with the previous construction and calibration of an equivalent model for a different type of software product being evolved in a different context, provides support for the FEAST hypothesis, which states that software evolution processes are feedback systems. The models also suggest that feedback pressures from outside technical software processes have an important influence on the dynamics of the overall software processes, and on resultant evolutionary product and process trends. Keywords: Laws of software evolution, system dynamics, software process modeling, software process simulation, feedback, FEAST, E-type systems[mml588/2,jfr9.2] M M Lehman and J F Ramil, Software Evolution Phenomenology and Component Based Software Engineering, IEE Proc. Softw., sp. issue on Component Based Software Engineering, scheduled for Dec. 2000, earlier version as Tech. Rep. 98/8, Imperial College, London, Jun. 1998
Abstract:
The eight laws of software evolution characterise the phenomenology of systems embedded in real world domains, defined as E-type. As long as a software component is considered individually or "on-the-shelf" it may be regarded as of type S. However, once it is integrated into a software system actively used and embedded in an operational domain in the real world, the component become of type E. If the system is in use, it must undergo continuing evolution. Thus, the laws appear also to be relevant in the context of component-based software engineering (CBSE). This paper examines the most immediate consequences of this observation. Managerial implications of the laws of software evolution in the context of CBSE are also briefly discussed. Keywords: Assumptions, CBSD, COTS, FEAST, Feedback, Lehman's Laws, Reuse, Software Evolution, S- and E-type Software, Software Process.[mml649] G Kahen, M M Lehman, J F Ramil and P D Wernick, Dynamic Modelling in the Investigation of Policies for E-type Software Evolution, ProSim 2000, International Workshop on Software Process Simulation and Modelling, London, UK, 12 - 14 Jul. 2000
Abstract:
This paper describes the latest in a series of systems dynamics models developed during the FEAST investigation into software evolution processes. Whereas the earlier models simulated real-world processes with the intention of increasing the understanding of these processes, the work reported here is the first step towards simulating the effects of the decisions made by the managers of these processes. Keywords: Evolution, system dynamics, software process modelling, simulation, feedback, FEAST, E-type systems.Abstract:
Algorithmic cost estimation in the context of software evolution is being addressed as part of the FEAST/2 project with encouraging results from an industrial case study[jfr42] J F Ramil, Algorithmic Cost Estimation for Software Evolution, Proc. ICSE'2000, Doctoral Workshop, Limerick, Ireland, 6 Jun. 2000, pp. 701 - 703
Abstract:
This study addresses the problem of cost estimation in the context of software evolution by building a set of quantitative models and assessing their predictive power. The models aim at capturing the relationship between effort, productivity and a suite of metrics of software evolution extracted from empirical data sets.Abstract:
This paper argues that quantitative process models can play an important role in seeking sustained improvement of E-type software evolution processes and summarises some of the experiences gained in the FEAST projects to date. Modelling guidelines are provided.[mml638] J F Ramil and M M Lehman, Metrics of Software Evolution as Effort Predictors - A Case Study, Proc. ICSM 2000, Int. Conference on Software Maintenance, San Jose, CA, to be presented, 11-14 Oct. 2000
Abstract:
Despite its importance, cost estimation in the context of continuing software evolution has been relatively unexplored. This paper addresses this omission by describing some models that predict effort as a function of a suite of metrics of software evolution. It presents a case study relating to the evolution of the kernel of a mainframe operating system. Six models based on eight different indicators of evolution activity are proposed, their predictive power is examined and compared to that of two baseline models. Predictions with errors of the order of 20 percent of the actual values have been obtained from the models, when fitted and tested to historical data over a segment of 10 years of kernel's continuing evolution. Appropriateness of the proposed models as predictors appears to be restricted to homogeneous evolution segments, that is, periods with relatively small variations in the level of effort applied. It was found that models based on coarse granularity measures, such as "subsystem counts", provided a Mean Magnitude of Relative Error similar to those based on finer alternatives, such as "module counts".[mml595] J F Ramil and M M Lehman, Fuzzy Dynamics in Software Project Simulation and Support, Proc. 6th European Workshop on Softw. Process Technology (EWSPT-6), 16-18th Sept. 1998, Weybridge, Surrey UK, LNCS 1487, Springer-Verlag, pp. 122-126
Abstract:
Established simulation techniques require quantification of relevant aspects of the entity whose behaviour is being investigated. The data expressing the quantification provides a disciplined link between the simulation model and the domain being modelled. In this connection, domains such as software projects or processes that are, for example, fuzzy, uncertain or lack precise data quantification, may present difficulties. Alternative paradigms must be established to capture, in some sense, the behaviour to be simulated. One such paradigm, complementary to existing techniques, is provided by fuzzy dynamics. Though appearing promising, this suggestion awaits validation in real-world situations.
Abstract:
A brief review of the difficulty of achieving major improvement in the global software evolution process introduces the FEAST hypothesis that this may be partly due to the fact that the global process is a complex feedback system. Results to date from the FEAST/1 project support this hypothesis and the laws of software evolution of which the first were formulated in the 1970s. The project is exploring the phenomenon in depth by modelling the evolution of number of industrial projects using both black box and system dynamics techniques. It expects also to demonstrate the impact of feedback on process behaviour and improvement. Keywords: Software Evolution, Feedback in the Software Process, FEAST Hypothesis, FEAST/1 Project, Black Box Models, System Dynamics ModelsAbstract:
However completely specified, integration of COTS software into real world system makes it of type E even though, were it to be fully and absolutely specified, it would satisfy the definition of an S-type system. Thus, the laws of software evolution that apply to E-type systems are also relevant in the COTS context. This paper examines the wider implications of this fact and in particular that such systems must undergo continuing evolution. Managerial implications of the laws of software evolution in the context of COTS are also briefly highlighted. Keywords: Laws of Software Evolution, COTS, E- and S-type Systems, Specifications, Assumptions[mml586] M M Lehman, D E Perry and J F Ramil, On Evidence Supporting the FEAST Hypothesis and the Laws of Software Evolution, Proc. Metrics’98, Bethesda, Maryland, 20-21 Nov. 1998
Abstract:
As part of its study of the impact of feedback in the global software process on software product evolution, the FEAST/1 project has examined metric data relating to various systems in different application areas. High level similarities in the growth trends of the systems studied support the FEAST hypothesis. Inter alia, the results provide evidence compatible with the laws of software evolution, subject only to minor adjustments of the latter. Keywords: Laws of software evolution, system dynamics, feedback, FEAST hypothesis, E-type systemsAbstract:
A 1968 study of the software process led, inter alia, to the observation that the software process constitutes a feedback system. Attempts at its management and improvement must take this basic fact into consideration if optimum results are to be obtained. A project, FEAST/1, was initiated in 1996 to examine the assertion. Its objective is to identify feedback mechanisms and controls in the software evolution processes of several industrial collaborators, assess their impact and examine their role and potential in process improvement. The approach being used in the study is to construct black box, white box (System Dynamics) and other classes of process models of selected collaborator systems on the basis of the available process evolution metrics and other global data about process components and structures. The feedback that exists in these processes involves many humans in many roles. These observe, interpret, communicate, listen and act (or not). Global models of their activities cannot, however, in general, reflect the actions or behaviours of individuals. The level of detail which global process models can reflect is, therefore, limited. As a complex multi level multi loop feedback system , the long term behavioural patterns and trends of software processes are largely determined by its internal dynamics which, in turn is feedback generated and controlled. Process models must, therefore, reflect the feedback phenomenon. Individual human assumption and decision plays a central role in the feedback processes and this must be taken into account when considering the human dimension, the role and impact of people, in and on the process. Individually this cannot be done, but the aggregate effect of many individual decisions by many people may, in general, be represented by statistical means. One constructs, therefore, meaningful models relating to global process behaviour over time without addressing individual behaviour. In practice, this is not a significant limitation since individual actions have, in general, only local, impact on the long term performance of the global process. The paper includes brief mention of FEAST/1 results to date and provides literature references for further detail. Keywords: Software Evolution, Software Process, Feedback, Feedback Control, Human Role, Process Improvement[mml582] P Wernick and M M Lehman, Software Process White Box Modelling for FEAST/1, ProSim '98 Workshop, Silver Falls, OR, 23 Jun. 1998. As a revised version in Journal of Systems and Software, Vol. 46, Numbers 2/3, 15 Apr. 1999
Abstract:
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. Keywords Laws of software evolution, system dynamics, software process, modeling, simulation, feedback, FEAST, E-type systems[mml573] M M Lehman, D E Perry and J F Ramil, Implications of Evolution Metrics on Software Maintenance, Proc. Int. Conf. on Soft. Maintenance (ICSM’98), Bethesda, Maryland, 16-24 Nov. 1998
Abstract:
In the context of a hypothesis attributing the slow progress in achieving major global software process improvement, in part, to overlooking the role of feedback in that process, the FEAST/1 project is studying the impact of feedback on software evolution. Amongst its activities the project is analysing metrics of the evolution of several industrial systems, ranging from a financial transaction system to a very large real time system. The similarities which have emerged from a comparison of evolution metrics from several systems, support conclusions reached in a 1970s study of OS/360 evolution. The latest results suggest some refinement of earlier conclusions but indicate that both the metrics and the conclusions derived from them must be taken into account in the planning and implementation of successful software maintenance.
Keywords: Software- maintenance, evolution, metrics, dynamics, feedback, improvement, Lehman's laws.[mml569] M M Lehman, Process Modelling -– Where Next?, Most Influential Paper of ICSE 9 Award, Proc. of ICSE 19, Boston, MA, 20-22 May 1997,pp. 549 - 552
Abstract:
After limited interest prior to the 1980s, the software process attracted the attention of a small group of researchers and practitioners as evidenced by a series of International Process Workshops commencing with the first in 1984.General interest had, however, to wait until Osterweil's now classic paper being honoured today and the present author's response were delivered at ICSE 87. This brief paper seeks to move forward from the positions presented then to introduce three process related issues, software process improvement, feedback in the software process and business process improvement. The first is, currently the principal focus of the software process community. The second, it is believed, should be. The third is equally relevant. Individually and collectively these issues appear, to this author at least, to make the majority view of the current focus of process modelling in general and process programming in particular largely irrelevant.
Keywords: Process: modelling, process programming, process improvement, feedback, feedback systems, system dynamics[mml568] M M Lehman, D E Perry, J F Ramil, W M Turski and P D Wernick, Metrics and Laws of Software Evolution – The Nineties View , Proc. Fourth International Symposium on Software Metrics, Metrics 97, Albuquerque, New Mexico, 5-7 Nov 97, IEEE Comp. Soc. or. n. PR08093, pp 20-32 [ MATLAB code for estimation of inverse square model ]
Abstract:
The process of E-type software development and evolution has proven most difficult to improve, possibly due to the fact that the process is a multi-input, multi-output system involving feedback at many levels. This observation, first recorded in the early 70s during an extended study of OS/360 evolution, was recently captured in a FEAST hypothesis; a hypothesis being studied in on-going two-year project, FEAST/1. Preliminary conclusions based on a study of a financial transaction system, FW, are outlined and compared with those reached during the earlier OS/360 study. The new analysis supports, or better does not contradict, the laws of software evolution, suggesting that the 1970s approach to metric analysis of software evolution is still relevant today. It is hoped that FEAST/1 will provide a foundation for mastering the feedback aspects of the software evolution process, opening up new paths for process modelling and improvement.
Keywords: Software:- process, evolution, process metrics, dynamics and improvement; Lehman's laws[mml565] M M Lehman, Process Improvement - The Way Forward, Invited Keynote Address, Proc. Brazilian Software Engineering Conference, 14 - 18 Oct. 1996, pp. 23 - 35 [PDF]
Abstract:
The paper briefly reviews the difficulties encountered in achieving further major improvement in some aspects of the software evolution process. This may, it is suggested, be due, in part, to the fact that the global process is a complex, multi loop multilevel feedback system. After summarising the results of a 1970s study and the laws of software evolution that arose from it, the paper introduces a FEAST hypothesis. This asserts that the global software process for E-type systems is such a multi loop feedback system and displays the properties associated with such systems. Early results from the FEAST study culminating in the FEAST/1 project started in October 1996 are outlined. The support these results provide for the original five Laws of Software Evolution and for three extensions are also indicated. The FEAST/1 project is to explore the phenomenon in depth through modelling of a number of industrial projects and will seek to demonstrate its impact. The early work of the 1970s concentrating primarily on OS/360 as confirmed by the FEAST results obtained to date suggest that mastery of the process as a feedback system is key to further process improvement.[mml532] M M Lehman, Feedback in the Software Evolution Process, Keynote Address, CSR Eleventh Annual Workshop on Software Evolution: Models and Metrics. Dublin, 7 - 9 Sept. 1994, Workshop Proc., Information and Software Technology, sp. is. on Software Maintenance, v. 38, n. 11, 1996, Elsevier, 1996, pp. 681 - 686
Abstract:
Despite major advances in programming methodology, industry still faces major problems in developing and maintaining E-type software - software that implements computer applications in the real world. The paper suggests that a possible constraint on software process improvement arises from the fact that the global software process that includes technical, business, marketing, user and other activities constitutes a multi-loop, multi-level feedback system. To change the characteristics of such a system requires one to consider, design or adapt and tune both forward and feedback paths to achieve the desired changes in externally visible behaviour. It should, therefore not come as a surprise that the overall improvements achieved fall far below expectations. After all, current world-wide process models and improvement activities focus primarily on the forward technical path and overlook the many feedback paths and the constraints that they impose on improvement of the project. A recently launched project, FEAST, and a hypothesis by the same name, will investigate these observations and their consequences on the basis of an international collaborative investigation. Keywords: Software Process, Process Improvement, Feedback, Feedback Systems, FEAST| Industrial Collaborators | Investigators | Publications | Contact Information |
Updated: 3 December 2001