Change Impact Analysis and Software Evolution Specification for Continually Evolving Systems

Precision in change impact analysis ensures the correctness and completeness of the software evolution. Current research on impact analysis is based on the program code analysis. Also these techniques extract the data flow and control flow information at the statement and variable level which is too granular to be of use at higher levels of change management. The change impact analysis techniques need to be applied initially at the architecture design level to capture module dependencies without being dependent on coding style and/or coding technique. But the current architecture models do not explicitly capture the module dependencies. Hence the architectural style needs to explicitly capture the module and data dependencies in its metamodel. This will facilitate the precise change impact analysis. We have defined Temporal Control Flow Rule-based Architecture (TeCFRA) to provide for the same. TeCFRA models these dependencies using control flow rules as connectors. We have also designed an architecture description language (ADL), which supports the specification of TeCFRA-based system as well as specification of its evolutions. The approach allows us to enhance the precision in change impact analysis and in the evolution specification.

[1]  A. Jefferson Offutt,et al.  Algorithmic analysis of the impacts of changes to object-oriented software , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

[2]  Norman Wilde,et al.  Maintenance Support for Object-Oriented Programs , 1992, IEEE Trans. Software Eng..

[3]  Janusz W. Laski,et al.  Dynamic slicing of computer programs , 1990, J. Syst. Softw..

[4]  Alessandro Orso,et al.  Leveraging field data for impact analysis and regression testing , 2003, ESEC/FSE-11.

[5]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[6]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[7]  Urjaswala Vora,et al.  Architectural Design Methodologies for Complex Evolving Systems , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

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

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

[10]  Frank Tip,et al.  Change impact analysis for object-oriented programs , 2001, PASTE '01.

[11]  U. Vora,et al.  Modularization with Externalization of Control Flow , 2007, First International Workshop on Assessment of Contemporary Modularization Techniques (ACoM '07).

[12]  Li Li,et al.  Algorithmic analysis of the impact of changes to object-oriented software , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[13]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[14]  Gregg Rothermel,et al.  Whole program path-based dynamic impact analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[16]  Frank Tip,et al.  Chianti: a tool for change impact analysis of java programs , 2004, OOPSLA.

[17]  Lionel C. Briand,et al.  Using coupling measurement for impact analysis in object-oriented systems , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[18]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[19]  Jonathan I. Maletic,et al.  A survey and taxonomy of approaches for mining software repositories in the context of software evolution , 2007, J. Softw. Maintenance Res. Pract..

[20]  Linda Badri,et al.  Supporting predictive change impact analysis: a control call graph based technique , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[21]  Shawn A. Bohner,et al.  Impact analysis in the software change process: a year 2000 perspective , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[22]  Nenad Medvidovic,et al.  Domains of Concern in Software Architectures and Architecture Description Languages , 1997, DSL.