Managing the Complexity of Large Free and Open Source Package-Based Software Distributions
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
OPIUM: Optimal Package Install/Uninstall Manager
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Dependency management for the eclipse ecosystem: eclipse p2, metadata and resolution
Proceedings of the 1st international workshop on Open component ecosystems
Apt-pbo: solving the software dependency problem using pseudo-boolean optimization
Proceedings of the IEEE/ACM international conference on Automated software engineering
An empirical study of the component dependency resolution search space
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Dependency solving: A separate concern in component evolution management
Journal of Systems and Software
EVOSS: a tool for managing the evolution of free and open source software systems
Proceedings of the 34th International Conference on Software Engineering
A modular package manager architecture
Information and Software Technology
Towards a formal component model for the cloud
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
On software component co-installability
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
Software distributions in the FOSS world rely on so-called package managers for the installation and removal of packages on target machines. State-of-the-art package managers are monolithic in architecture, and each of them is hard-wired to an ad-hoc dependency solver implementing a customized heuristics. In this paper we propose a modular architecture allowing for pluggable dependency solvers and backends. We argue that this is the path that leads to the next generation of package managers that will deliver better results, accept more expressive input languages, and can be easily adaptable to new platforms. We present a working prototype---called MPM---which has been implemented following the design advocated in this paper.