How exciting!! I just received a digital version of my 2001 PhD thesis “Computation of Ripple Effect Measures for Software” from the British Library. If you would like to read it, here you go:
If you would like to read something a bit shorter here’s the Abstract:
There are many measures of structural complexity of source code, of which ripple effect is just one. Ripple effect measures the amount which a module or program may affect other modules within a program, or programs within a system, if changes are made. Measurement of ripple effect has been incorporated into several software maintenance models because it shows maintainers the ramifications of any change that they may make before that change is actually implemented. As such, computation of ripple effect provides a potentially valuable source of information. The aim of this thesis is to show that an approximation to Yau and Collofello’s ripple effect algorithm can satisfactorily replace their original algorithm as a measure of structural complexity.
The basis of our approach has been to completely reformulate the ripple effect calculation using matrix arithmetic. As well as making the calculation more explicit the reformulation reveals how the algorithm’s structure can be broken down into separate parts. By focusing on the derivation of one particular matrix we find that an approximation may be made, greatly simplifying the calculation.
A Ripple Effect and Stability Tool (REST) was created and used to validate our work. Firstly, a comparison of the original and reformulated ripple effect measures from several programs shows them to be highly correlated. Secondly, a case study is used to explore the link between ripple effect and maintainer’s intuition of the impact of code changes. Perhaps unsurprisingly, this link appears to be less than clear-cut.
S. Black, Computation of ripple effect measures for software, Ph.D. thesis, SCISM, South Bank University, London, UK, September 2001, 123 pp.