Elsevier

Science of Computer Programming

Volume 76, Issue 12, 1 December 2011, Pages 1144-1160
Science of Computer Programming

Supporting software evolution in component-based FOSS systems

https://doi.org/10.1016/j.scico.2010.11.001Get rights and content
Under an Elsevier user license
open archive

Abstract

FOSS (Free and Open Source Software) systems present interesting challenges in system evolution. On one hand, most FOSS systems are based on very fine-grained units of software deployment–called packages–which promote system evolution; on the other hand, FOSS systems are among the largest software systems known and require sophisticated static and dynamic conditions to be verified, in order to successfully deploy upgrades on users’ machines. The slightest error in one of these conditions can turn a routine upgrade into a system administrator’s nightmare.

In this paper we introduce a model-based approach to support the upgrade of FOSS systems. The approach promotes the simulation of upgrades to predict failures before affecting the real system. Both fine-grained static aspects (e.g. configuration incoherences) and dynamic aspects (e.g. the execution of configuration scripts) are taken into account, improving over the state of the art of upgrade planners. The effectiveness of the approach is validated by instantiating the approach to widely-used FOSS distributions.

Research highlights

► We introduce a model-based approach to support the upgrade of FOSS systems. ► We simulate system upgrades to predict possible failures. ► Both fine-grained static aspects and dynamic aspects are taken into account. ► The effectiveness of the approach is validated on widely-used FOSS distributions.

Keywords

System’s upgrade
FOSS systems
Open source project
Model-driven engineering (MDE)
Configuration management

Cited by (0)

This work is partly supported by they European Community’s 7th Framework Programme (FP7/2007–2013), http://www.mancoosi.org Mancoosi project, grant agreement n. 214898.