Change Propagation for Assessing Design Quality of Software Architectures

The study of software architectures is gaining importance due to its role in various aspects of software engineering such as product line engineering, component based software engineering and other emerging paradigms. With the increasing emphasis on design patterns, the traditional practice of ad-hoc software construction is slowly shifting towards pattern-oriented development. Various architectural attributes like error propagation, change propagation, and requirements propagation, provide a wealth of information about software architectures. In this paper, we show that change propagation probability (CP) is helpful and effective in assessing the design quality of software architectures. We study two different architectures (one that employs patterns versus one that does not) for the same application. We also analyze and compare change propagation metric with respect to other coupling-based metrics.

[1]  Hany H. Ammar,et al.  Quantifying software architectures: an analysis of change propagation probabilities , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..

[2]  James M. Bieman,et al.  Design patterns and change proneness: an examination of five evolving systems , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[3]  Alexander Chatzigeorgiou,et al.  Probabilistic evaluation of object-oriented systems , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[4]  Hany H. Ammar,et al.  Software architectures change propagation tool (SACPT) , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[5]  K. Ushijima,et al.  Redesigning of an existing software using design patterns , 2000, Proceedings International Symposium on Principles of Software Evolution.