UNIVERSITY OF HERTFORDSHIRE COMPUTER SCIENCE RESEARCH COLLOQUIUM "The Role of Ripple Effect in Software Evolution" Dr. Sue Black London South Bank University, UK 8 February 2006 (Wednesday) Lecture Theatre E350 Hatfield, College Lane Campus 3 - 4 pm Coffee/tea and biscuits will be available. [Catering Permitting] Everyone is Welcome to Attend [Space Permitting] Abstract: The ripple effect measures source code from two points of view: a) impact, or how likely it is that a change to a particular module is going to cause problems in the rest of a program or system; b) the complexity of a particular module, program or software system. One specific use of the ripple effect is to measure the complexity of the first version of a system then use this as a benchmark for comparison with subsequent releases of the system. If the system becomes more complex over time (which it probably would be expected to) ripple effect can be used to highlight where that increase in complexity is occurring and steps taken to minimise unnecessary complexity. Lehman's laws of software evolution look at how a system changes over time; they grew out of the analyses of many releases of the IBM OS 360. Thus it is evident that there is a link between ripple effect and the laws of software evolution, as ripple effect can be used to measure the evolution of a system in terms of its complexity. This talk focuses on the link between the ripple effect and Lehman's laws of software evolution. In particular, it looks at the practical implications of the laws and discusses using ripple effect via REST (Ripple Effect and Stability Tool) to provide useful information for future software evolution planning and management. As ripple effect is used during the maintenance of software systems, several software maintenance models are described which include accounting for ripple effect as one of their stages. Recent work on the FEAST project has highlighted the need for tools to address the practical implications of the laws of software evolution. Ripple effect as part of a suite of software measures can be used to address the decline of systems over time by providing change data that facilitates the optimal modelling of system trends. -- Hertfordshire Computer Science Research Colloquium http://homepages.feis.herts.ac.uk/~nehaniv/colloq