Evolution Impact on Architecture Stability in Open-Source Projects

Software systems usually evolve constantly, which requires constant development and maintenance. Subsequently, the architecture of these systems tends to degrade with time. Therefore, stability is a key measure for evaluating an architecture. Open-source software systems are becoming progressively vital these days. Since open-source software systems 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. In this work, the authors 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]  Stefan Koch Software evolution in open source projects—a large-scale investigation , 2007 .

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

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

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

[5]  Daniel M. Yellin,et al.  Bayesian Approaches to Matching Architectural Diagrams , 2010, IEEE Transactions on Software Engineering.

[6]  Petri T. Helo,et al.  TQM Practices in Public Sector: Case of Finnish Healthcare Organizations , 2016, Int. J. Inf. Syst. Serv. Sect..

[7]  Tuure Tuunanen,et al.  Exploration of Location-Based Services Adoption , 2011, 2011 44th Hawaii International Conference on System Sciences.

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

[9]  Mohammad Alshayeb The Impact of Refactoring on Class and Architecture Stability , 2011, J. Res. Pract. Inf. Technol..

[10]  Jagdish Bansiya Evaluating framework architecture structural stability , 2000, CSUR.

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

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

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

[14]  Mehdi Jazayeri On Architectural Stability and Evolution , 2002, Ada-Europe.

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

[16]  Nicole B. Koppel,et al.  InformatIon SyStemS In the ServIce Sector , 2010 .

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

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

[19]  Lerina Aversano,et al.  Evaluating architecture stability of software projects , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[20]  Ladan Tahvildari,et al.  Evaluating architectural stability using a metric-based approach , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[21]  Giuliano Antoniol,et al.  Recovering the Evolution Stable Part Using an ECGM Algorithm: Is There a Tunnel in Mozilla? , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[22]  Al Bento,et al.  Cloud Computing Service and Deployment Models: Layers and Management , 2012 .

[23]  Young Lee,et al.  Metrics and Evolution in Open Source Software , 2007 .

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

[25]  Rami Bahsoon,et al.  Evaluating architectural stability with real options theory , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[26]  Letha H. Etzkorn,et al.  Assessing design instability in iterative (agile) object-oriented projects , 2006, J. Softw. Maintenance Res. Pract..

[27]  Yann-Gaël Guéhéneuc,et al.  ADvISE: Architectural Decay in Software Evolution , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[28]  Joseph Budu,et al.  International Journal of E-Services and Mobile Applications , 2015 .

[29]  Rami Bahsoon,et al.  Evaluating software architectures: development, stability, and evolution , 2003 .

[30]  Tibor Gyimóthy,et al.  Empirical validation of object-oriented metrics on open source software for fault prediction , 2005, IEEE Transactions on Software Engineering.

[31]  Andreu Blesa,et al.  Entrepreneurial Intentions among Higher Education Students in Finland and Spain: Developing and Piloting a Survey Instrument , 2013, Int. J. Inf. Syst. Serv. Sect..

[32]  Letha H. Etzkorn,et al.  Assessing design instability in iterative (agile) object-oriented projects: Research Articles , 2006 .

[33]  Publisher Nejmeddine Tagoug International Journal of Information Systems , 2014 .

[34]  P. Candace Deans,et al.  The Legal Implications of Cloud Computing , 2013 .

[35]  VaramäkiElina,et al.  Entrepreneurial Intentions among Higher Education Students in Finland and Spain , 2013 .