Computing ripple effect for software maintenance

Recent software maintenance models have included impact analysis and accounting for ripple effect as one of their stages. This paper describes and explains the reformulation of Yau and Collofello's ripple-effect algorithm and its validity within the software-maintenance process. Completely automatic computation of ripple effect has until now proved troublesome; we show how our approximation algorithm helps to overcome this. Our Ripple Effect and Stability Tool (REST) which uses our approximated algorithm to compute ripple effect for C programs, is described. Eleven C programs are used in an initial investigation into whether our approximated algorithm can replace Yau and Collofello's original algorithm for the purpose of automatic computation of ripple effect. The Pearson correlation coefficient for the two versions of the algorithm across the eleven programs shows a high correlation.

[1]  N. Schneidewind,et al.  Towards an Ontology of software maintenance , 1999 .

[2]  Frederick M. Haney Module connection analysis: a tool for scheduling software debugging activities , 1972, AFIPS '72 (Fall, part I).

[3]  Gerardo Canfora,et al.  Controlling side-effects in maintenance , 1996 .

[4]  Stephen S. Yau,et al.  An Integrated Life-Cycle Model for Software Maintenance , 1988, IEEE Trans. Software Eng..

[5]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[6]  Terence Parr Language Translation Using PCCTS and C , 1999 .

[7]  Glenford J. Myers,et al.  An extension to the cyclomatic measure of program complexity , 1977, SIGP.

[8]  M. Shepperd,et al.  A critique of cyclomatic complexity as a software metric , 1988, Softw. Eng. J..

[9]  Stephen S. Yau,et al.  Some Stability Measures for Software Maintenance , 1980, IEEE Trans. Software Eng..

[10]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[11]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[12]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[13]  Wei-Tek Tsai,et al.  Data-centered program understanding , 1994, Proceedings 1994 International Conference on Software Maintenance.

[14]  Wilfred J. Hansen,et al.  Measurement of program complexity by the pair: (Cyclomatic Number, Operator Count) , 1978, SIGP.

[15]  Stephen S. Yau,et al.  Ripple effect analysis of software maintenance , 1978, COMPSAC.

[16]  Sik-Sang Yau,et al.  ESTIMATING LOGICAL STABILITY IN SOFTWARE MAINTENANCE. , 1984 .

[17]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[18]  Shawn A. Bohner,et al.  A framework for software maintenance metrics , 1990, Proceedings. Conference on Software Maintenance 1990.

[19]  Robert B. Grady,et al.  Successfully applying software metrics , 1994, Computer.

[20]  Ronald J. Leach Software metrics and software maintenance , 1990, J. Softw. Maintenance Res. Pract..

[21]  W. M. Evangelist Relationships among computational, software, and intuitive complexity , 1983, SIGP.

[22]  Ronald E. Prather An Axiomatic Theory of Software Complexity Measure , 1984, Comput. J..

[23]  Chung-Chu Hsieh An approach to logical ripple effect analysis for software maintenance , 1982 .

[24]  Stephen S. Yau,et al.  Design Stability Measures for Software Maintenance , 1985, IEEE Transactions on Software Engineering.

[25]  P. A. Bennett Software development for the Channel Tunnel: a summary , 1994, ALET.

[26]  Norman L. Soong,et al.  A program stability measure , 1977, ACM Annual Conference.