REST — A tool to Measure the Ripple Effect of C and C++ Programs

Sue Black · Deutscher Universitätsverlag eBooks · 1999

This paper describes the reformulation and subsequent implementation of the ripple effect measure first proposed by Yau and Collofello [10]. Ripple effect traces the paths of variables through a program, providing a compound measurement of the effect that one module has upon the other modules. It may be used during software development to compare the stability of subsequent versions of a program, or during software maintenance to decide which modules within a program may need reengineering. The implementation of this reformulated measure REST (Ripple Effect and Stability Tool) gives ripple effect measurements for each individual module within a program and an overall stability measure: the reciprocal of the summed ripple effect for the program. During the reformulation of this measure using matrix algebra it was noticed that the computation algorithm for a certain matrix, D, which describes definition / use pairings, could be approximated, eliminating the need to use control-flow information. The simplified version of matrix D requires less memory and less time to compute. A previous implementation of the ripple effect measure [13] suffered from slow computation times. REST has been tested on two versions of a mutation testing software tool and the approximate results compared with the ripple effect measure produced using the original matrix D. Initial results show that the simplified matrix D is a valid alternative to the original matrix D and as such the reformulation gives an acceptable approximation to the original measure.

Read the paper · More papers on PaperTik