Using application understanding to support impact analysis

Any change to one component of a software system is likely to be felt in other components, a phenomenon known as ‘ripple effect’. Impact analysis is the process of identifying all those components of a system which may be affected by ripple effect. This requires a knowledge of the dependencies between components. A software system consists not only of the source code, but also of all life cycle work products including requirements, design and test documents. Any of these components may be the subject of a change request, and should therefore be included in impact analysis. The ripple propagation graph (RPG) for impact analysis, developed as part of the AMES (Application Management Environments and Support) project, models an application in such a way that dependencies can be traced in order to identify all affected components. It is an object-relationship model consisting of the components of a system at some level of granularity, and the various relationships between them. This paper describes the AMES RPG, and how the results of the application understanding (AU) toolset, developed (again as part of the AMES project) to support the process of gaining an understanding of an application, can be used to provide some of the data required to populate the RPG.  1998 John Wiley & Sons, Ltd.

[1]  Giancarlo Savoia,et al.  ReverseNICE: A Re-Engineering Methodology and Supporting Tool , 1995, Ada-Europe.

[2]  Pierrick Fillon An approach to impact analysis in software maintenance , 1994 .

[3]  Cornelia Boldyreff,et al.  The AMES approach to application understanding: a case study , 1995, Proceedings of International Conference on Software Maintenance.

[4]  Elizabeth Burd,et al.  An evaluation of the state of the art for application management , 1994, Proceedings 1994 International Conference on Software Maintenance.

[5]  Thierry Bodhuin,et al.  Supporting impact analysis: a semi-automated technique and associated tool , 1995, Proceedings of International Conference on Software Maintenance.

[6]  E. Burton Swanson,et al.  Characteristics of application software maintenance , 1978, CACM.

[7]  Stanley Letovsky,et al.  Cognitive processes in program comprehension , 1986, J. Syst. Softw..

[8]  Lowell Jay Arthur Software evolution: the software maintenance challenge , 1988 .

[9]  E. J. Younger,et al.  Model-based tools to record program understanding , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[10]  P. E. Livadas,et al.  A toolset for program understanding , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[11]  Richard John Turner Early detection of ripple propagation in evolving software systems , 1993 .

[12]  Kiyoshi Agusa,et al.  A Supporting System for Software Maintenance-Ripple Effect Analysis of Requirements Description Modificatiion- , 1985 .

[13]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[14]  David J. Gilmore,et al.  Models of Debugging , 1991, PPIG.