Paper Imposing AMemory Management Discipline On Software Deployment
Merijn
This paper is available in
ps
and
pdf.
The deployment of software components frequently fails because dependencies
on other components are not declared explicitly or are declared imprecisely.
This results in an incomplete reproduction of the environment necessary for
proper operation, or in interference between incompatible variants.
In this paper we show that these deployment hazards are similar to
pointer hazards in memory models of programming languages and can be
countered by imposing a memory management discipline on software
deployment.
Based on this analysis we have developed a generic, platform and
language independent, discipline for deployment that allows
precise dependency verification;
exact identification of component variants;
computation of complete closures containing all components on
which a component depends;
maximal sharing of components between such closures;
and
concurrent installation of revisions and variants of components.
We have implemented the approach in the Nix deployment system, and
used it for the deployment of a large number of existing Linux
packages. We compare its effectiveness to other deployment systems.
BibTeX Entry
@inproceedings{dvj2004a,
author = {E. Dolstra and E. Visser and M. de Jonge},
title = {Imposing A Memory Management Discipline On Software Deployment},
booktitle = {26th International Conference on Software Engineering (ICSE 2004)},
year = {2004},
editor = {J. Estublier and D. Rosenblum},
month = may,
location = {Edinburgh, Scotland},
publisher = "IEEE Computer Society",
pages = "583--592",
url = base_url # "PaperImposingAMemoryManagementDisciplineOnSoftwareDeployment"
}
--
MerijnDeJonge - 09 Feb 2004