Capiluppi, Andrea and Knowles, Thomas (2009) ‘Build-Level Components in FLOSS Systems’,
Use this permanent URL when citing or linking to this resource in ROAR.
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.
|Divisions:||Schools > Architecture Computing and Engineering, School of|
|Date Deposited:||18 Sep 2009 14:16|
|Item Type:||Conference or Event Item (Paper)|
|Creators:||Capiluppi, Andrea and Knowles, Thomas|
|Last Modified:||27 Sep 2012 11:58|
|Depositing User:||Andrea Capiluppi|