Dependable software deployment
2006
Abstract
Large and complex software systems, like those common on personal computers, often contain many components that can be deployed separately—applications, libraries, drivers, etc.—but that must then be bound together into working configurations. Configuring software is difficult and error-prone in practice, and it is not well understood in theory. As a result, real software systems are often configured in ways that are fragile and undependable. To address these problems, we present a novel and precise model for reasoning about software configurations, and the processes by which they are constructed. We can compare our framework to existing software deployment tools, such as Windows Installer and the RPM Package Manager, and formalize desirable properties of software configurations.
References (16)
- Windows Installer, http://msdn.microsoft.com/library/.
- FreeBSD Ports Collection, http://www.freebsd.org/ports.
- M. Burgess. Cfengine: a site configuration engine. In USENIX Computing systems, volume 8, 1995.
- A. L. Couch and M. Gilfix. It's Elementary, Dear Watson: Applying Logic Programming To Convergent System Man- agement Processes. In LISA '99: Proceedings of the 13th USENIX conference on System administration, pages 123- 138, Berkeley, CA, USA, 1999. USENIX Association.
- R. Di Cosmo, B. Durak, X. Leroy, F. Mancinelli, and J. Vouillon. Maintaining large software distributions: New challenges from the FOSS era. In Proceedings of the 1st In- ternational EASST-EU Workshop on Future Research Chal- lenges for Software and Services, 2006.
- E. Dolstra. Efficient upgrading in a purely functional com- ponent deployment model. In CBSE, pages 219-234, 2005.
- E. Dolstra. The Purely Functional Software Deployment Model. PhD thesis, Faculty of Science, Utrecht, The Nether- lands, jan 2006.
- E. Dolstra, M. de Jonge, and E. Visser. Nix: A safe and policy-free system for software deployment. In LISA '04: Proceedings of the 18th USENIX conference on System ad- ministration, pages 79-92, 2004.
- E. Dolstra, E. Visser, and M. de Jonge. Imposing a memory management discipline on software deployment. In ICSE, pages 583-592, 2004.
- E. Foster-Johnson. Red Hat RPM Guide. Red Hat, 2003.
- J. Hart and J. D'Amelia. An Analysis of RPM Validation Drift. In LISA '02: Proceedings of the 16th USENIX con- ference on System administration, pages 155-166, Berkeley, CA, USA, 2002. USENIX Association.
- A. Heydon, R. Levin, T. Mann, and Y. Yu. Software Config- uration Management Using Vesta. Springer, 2006.
- D. Leijen. wxHaskell -a portable and concise GUI library for Haskell. In ACM SIGPLAN Haskell Workshop (HW'04). ACM Press, Sept. 2004.
- F. Mancinelli, J. Boender, R. Di Cosmo, J. Vouillon, B. Du- rak, X. Leroy, and R. Treinen. Managing the complexity of large free and open source package-based software distribu- tions. In Proceedings of the 21st IEEE/ACM International Conference on Automated Software Ingineering (ASE'06), Tokyo, Japan, Sept. 2006. IEEE Computer Society Press. To appear.
- K. Manheimer, B. A. Warsaw, S. N. Clark, and W. Rowe. The Depot: A Framework for Sharing Software Installa- tion Across Organizational und UNIX Platform Boundaries. In LISA '90: Proceedings of the 6th System Administration Conferencs, pages 37-46, 1990.
- S. Peyton Jones, editor. Haskell 98 Language and Libraries -The Revised Report. Cambridge University Press, Cam- bridge, England, 2003.