Structural Complexity and Decay in FLOSS Systems: An Inter-repository Study

Past software engineering literature has firmly established that software architectures and the associated code decay over time. Architectural decay is, potentially, a major issue in Free/Libre/Open Source Software (FLOSS) projects,since developers sporadically joining FLOSS projects do not always have a clear understanding of the underlying architecture, and may break the overall conceptual structure by several small changes to the code base.This paper investigates whether the structure of a FLOSS system and its decay can also be influenced by the repository in which it is retained: specifically,two FLOSS repositories are studied to understand whether the complexity of the software structure in the sampled projects is comparable, or one repository hosts more complex systems than the other. It is also studied whether the effort to counteract this complexity is dependent on the repository, and the governance it gives to the hosted projects.The results of the paper are two-fold: on one side, it is shown that the repository hosting larger and more active projects presents more complex structures. On the other side, these larger and more complex systems benefit from more anti-regressive work to reduce this complexity.

[1]  Juan Fernández-Ramil,et al.  Studying the evolution of open source systems at different levels of granularity: two case studies , 2004, Proceedings. 7th International Workshop on Principles of Software Evolution, 2004..

[2]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[3]  Lionel C. Briand,et al.  Dynamic coupling measurement for object-oriented software , 2004, IEEE Transactions on Software Engineering.

[4]  Dirk Riehle,et al.  The Total Growth of Open Source , 2008, OSS.

[5]  Jesús M. González-Barahona,et al.  Towards a Theoretical Model for Software Growth , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[6]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[7]  Juan Fernández-Ramil,et al.  A model to predict anti-regressive effort in Open Source Software , 2007, 2007 IEEE International Conference on Software Maintenance.

[8]  David D. McDonald,et al.  Programs , 1984, CL.

[9]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[10]  Daniel M. Germán,et al.  Measuring fine-grained change in software: towards modification-aware change metrics , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[11]  Cornelia Boldyreff,et al.  Identifying exogenous drivers and evolutionary stages in FLOSS projects , 2009, J. Syst. Softw..

[12]  Meilir Page-Jones,et al.  The practical guide to structured systems design , 1980 .

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

[14]  Stefan Koch,et al.  Evolution of Open Source Software Systems - A Large-Scale Investigation , 2005 .

[15]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[16]  Jesús M. González-Barahona,et al.  Contributor Turnover in Libre Software Projects , 2006, OSS.

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

[18]  Martin Michlmayr,et al.  From the Cathedral to the Bazaar: An Empirical Study of the Lifecycle of Volunteer Community Projects , 2007, OSS.

[19]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[20]  Barbara A. Kitchenham,et al.  Coupling measures and change ripples in C++ application software , 2000, J. Syst. Softw..

[21]  Liming Zhu,et al.  Tool support for just-in-time architecture reconstruction and evaluation: an experience report , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[22]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[23]  Kevin Crowston,et al.  The Perils and Pitfalls of Mining SourceForge , 2004, MSR.

[24]  Jesús M. González-Barahona,et al.  Evolution and growth in large libre software projects , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[25]  R. English,et al.  Identifying Success and Tragedy of FLOSS Commons: A Preliminary Classification of Sourceforge.net Projects , 2007, First International Workshop on Emerging Trends in FLOSS Research and Development (FLOSS'07: ICSE Workshops 2007).

[26]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[27]  Daniel M. Germán,et al.  An empirical study of fine-grained software modifications , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[28]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[29]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[30]  Cornelia Boldyreff,et al.  Evolutionary Success of Open Source Software: an Investigation into Exogenous Drivers , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[31]  Cornelia Boldyreff,et al.  Quality Factors and Coding Standards - a Comparison Between Open Source Forges , 2009, SQM@CSMR.

[32]  Juan Fernández-Ramil,et al.  The evolution of Eclipse , 2008, 2008 IEEE International Conference on Software Maintenance.

[33]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[34]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[35]  Meir M. Lehman Programs, Cities, Students— Limits to Growth? , 1978 .

[36]  Thomas D. Sandry,et al.  Introductory Statistics With R , 2003, Technometrics.