Towards maintainer script modernization in FOSS distributions

Davide Di Ruscio, Patrizio Pelliccione, Alfonso Pierantonio, Stefano Zacchiroli

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Free and Open Source Software (FOSS) distributions are complex software systems, made of thousands packages that evolve rapidly, independently, and without centralized coordination. During packages upgrades, corner case failures can be encountered and are hard to deal with, especially when they are due to misbehaving maintainer scripts: executable code snippets used to finalize package configuration. In this paper we report a software modernization experience, the process of representing existing legacy systems in terms of models, applied to FOSS distributions. We present a process to define meta-models that enable dealing with upgrade failures and help rolling back from them, taking into account maintainer scripts. The process has been applied to widely used FOSS distributions and we report about such experiences.

Original languageEnglish
Title of host publicationIWOCE'09 - Proceedings of the 1st International Workshop on Open Component Ecosystems
Pages11-20
Number of pages10
DOIs
Publication statusPublished - 1 Dec 2009
Externally publishedYes
Event1st International Workshop on Open Component Ecosystems, IWOCE'09, Co-located with the 7th ESEC/FSE Joint Meeting, ESEC-FSE'09 - Amsterdam, Netherlands
Duration: 24 Aug 200924 Aug 2009

Publication series

NameIWOCE'09 - Proceedings of the 1st International Workshop on Open Component Ecosystems

Conference

Conference1st International Workshop on Open Component Ecosystems, IWOCE'09, Co-located with the 7th ESEC/FSE Joint Meeting, ESEC-FSE'09
Country/TerritoryNetherlands
CityAmsterdam
Period24/08/0924/08/09

Keywords

  • FOSS
  • Model-driven engineering software modernization

Fingerprint

Dive into the research topics of 'Towards maintainer script modernization in FOSS distributions'. Together they form a unique fingerprint.

Cite this