Build-Level Components in FLOSS Systems

Conference paper

Capiluppi, Andrea and Knowles, Thomas 2009. Build-Level Components in FLOSS Systems.
AuthorsCapiluppi, Andrea and Knowles, Thomas
TypeConference paper

As one of the often cited resources in Software Engineering, the modularization principle states that the coupling
between modules should be minimised, while the cohesion within modules maximised. Apart from precisely defining what a module is, this principle should be challenged in empirical settings on two grounds: first, dynamically, to understand whether a module maintains or changes its behaviour over time; second, by encapsulating third-party modules, and observing how the system’s modules cope with the imported ones.
This paper studies the evolution of the components of a Free/Libre/Open Source Software – FLOSS – system (MPlayer) which comprises its own modules and several imported, external modules. It studies whether all modules behave in a consistent way or different patterns are observed.
It is found that few modules keep their behaviour throughout the life-cycle, and these often comprise the externally imported
modules. The project’s own modules are instead prone to changes in their behaviour, most often by degrading their cohesion, therefore increasing the coupling with other modules.

KeywordsSoftware Architectures; Open Source Software; Build-level components
Publication dates
PrintSep 2009
Publication process dates
Deposited18 Sep 2009
Web address (URL)
Permalink -

Download files

  • 95
    total views
  • 44
    total downloads
  • 1
    views this month
  • 0
    downloads this month

Export as