Architectural Stability Evolution in Open-Source Systems

Open-source software systems are becoming progressively vital these days. Since open-source softwares are usually developed in a different management style, the quality of their architectures needs to be studied. ISO/IEC SQuaRe quality standard characterized stability as one of the sub-characteristics of maintainability. Unstable software architecture could cause the software to require high maintenance cost and effort. Almost all stability related studies target the package level. To our knowledge, there has been no proposed work in literature that addresses the stability at the system architecture level. In this work, we propose a simple, yet efficient, technique that is based on carefully aggregating the package level stability in order to measure the change in the architecture level stability as the architecture evolution happens. The proposed method can be used to further study the cause behind the positive or negative architecture stability changes.

[1]  Stephan Diehl,et al.  Dependency Viewer - A Tool for Visualizing Package Design Quality Metrics , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[2]  Michele Lanza,et al.  Reverse Engineering with Logical Coupling , 2006, 2006 13th Working Conference on Reverse Engineering.

[3]  C. Boldyreff,et al.  Coupling Patterns in the Effective Reuse of Open Source Software , 2007, First International Workshop on Emerging Trends in FLOSS Research and Development (FLOSS'07: ICSE Workshops 2007).

[4]  Michael W. Godfrey,et al.  On the evolution of Lehman's Laws , 2014, J. Softw. Evol. Process..

[5]  Oscar Nierstrasz,et al.  Evolutionary and collaborative software architecture recovery with Softwarenaut , 2014, Sci. Comput. Program..

[6]  Muhammad Ali Babar,et al.  A Systematic Review of Studies of Open Source Software Evolution , 2010, 2010 Asia Pacific Software Engineering Conference.

[7]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[8]  Saudi Arabia,et al.  Empirical Analysis of the Complexity Evolution in Open-Source Software Systems , 2015 .

[9]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[10]  Stéphane Ducasse,et al.  Butterflies: a visual approach to characterize packages , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[11]  Young Lee,et al.  Metrics and Evolution in Open Source Software , 2007, Seventh International Conference on Quality Software (QSIC 2007).

[12]  Tom Mens,et al.  Future trends in software evolution metrics , 2001, IWPSE '01.

[13]  Stefan Koch Software evolution in open source projects—a large-scale investigation , 2007 .

[14]  Imed Hammouda,et al.  Evolution of Open Source Software Projects: A Systematic Literature Review , 2013, J. Softw..