Using Change Propagation Probabilities to Assess Quality Attributes of Software Architectures 1

The study of software architectures is gaining importance due to its role in various aspects of software engineering, like product line engineering, componentbased 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, 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 the change propagation metric with respect to other coupling-based metrics.

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

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

[3]  H. H. Ammar,et al.  Automating the development of pattern-oriented designs for application specific software systems , 2000, Proceedings 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology.

[4]  Hany H. Ammar,et al.  Information theoretic metrics for software architectures , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[5]  Hany H. Ammar,et al.  Error propagation in software architectures , 2004 .

[6]  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).

[7]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  Walter F. Tichy,et al.  A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions , 2001, IEEE Trans. Software Eng..

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

[10]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[11]  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..

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