Skip to main content
Article thumbnail
Location of Repository

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

By Andrea Capiluppi and Karl Beecher

Abstract

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.\ud \ud 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,\ud 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\ud whether the effort to counteract this complexity is dependent on the repository, and the governance it gives to the hosted projects.\ud \ud 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\ud from more anti-regressive work to reduce this complexity

Topics: G400 Computer Science, G600 Software Engineering
Year: 2009
OAI identifier: oai:eprints.lincoln.ac.uk:1874

Suggested articles

Citations

  1. (1976). A complexity measure. doi
  2. (1994). A metrics suite for object oriented design. doi
  3. (2007). A model to predict anti-regressive effort in open source software. doi
  4. (1996). A validation of object-oriented design metrics as quality indicators. doi
  5. (2006). An empirical study of fine-grained software modifications. doi
  6. (2006). Contributor turnover in libre software projects. doi
  7. Coupling measures and change ripples in C++ application software. Journal of Systems and Software, 52:157–164, 2000.Debian SourceForge Name Functions SLOCs Commits Name Functions SLOCs
  8. (2001). Does code decay? assessing the evidence from change management data. doi
  9. (2004). Dynamic coupling measurement for object-oriented software. doi
  10. (2005). Evolution and growth in large libre software projects. doi
  11. (2005). Evolution of open source software systems – a large-scale investigation. doi
  12. (2008). Evolutionary success of open source software: An investigation into exogenous drivers.
  13. (2007). From the cathedral to the bazaar: An empirical study of the lifecycle of volunteer community projects. doi
  14. (1999). Identifying exogenous drivers and evolutionary stages in floss projects. doi
  15. (2007). Identifying success and tragedy of floss commons: A preliminary classification of sourceforge.net projects. doi
  16. (2002). Introductory Statistics with R. doi
  17. (2005). Measuring fine-grained change in software: Towards modification-aware change metrics. doi
  18. (1997). Metrics and laws of software evolution - the nineties view. doi
  19. (1978). Programs, cities, students, limits to growth? Programming Methodology, doi
  20. (2008). Quality factor and coding standards – a comparison between open source forges. doi
  21. (1994). Software aging. doi
  22. (1986). Software engineering metrics and models.
  23. (2004). Studying the evolution of open source systems at different levels of granularity: Two case studies. doi
  24. (2008). The evolution of Eclipse. In doi
  25. (1994). The goal question metric approach.
  26. (1956). The magical number seven, plus or minus two: Some limits on our capacity for processing information. doi
  27. (2004). The perils and pitfalls of mining sourceforge. doi
  28. (1980). The Practical Guide to Structured Systems Design.
  29. (2008). The total growth of open source. doi
  30. (2005). Tool support for just-in-time architecture reconstruction and evaluation: an experience report. doi
  31. (2007). Towards a theoretical model for software growth. doi
  32. (2002). Two case studies of open source software development: Apache and mozilla. doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.