skip to main content
10.1145/1858996.1859087acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Apt-pbo: solving the software dependency problem using pseudo-boolean optimization

Published: 20 September 2010 Publication History

Abstract

The installation of software packages depends on the correct resolution of dependencies and conflicts between packages. This problem is NP-complete and, as expected, is a hard task. Moreover, today's technology still does not address this problem in an acceptable way. This paper introduces a new approach to solving the software dependency problem in a Linux environment, devising a way for solving dependencies according to available packages and user preferences. This work introduces the "apt-pbo" tool, the first publicly available tool that solves dependencies in a complete and optimal way.

References

[1]
}}B. Alidaee, H. Wang, and Y. Xu. A pseudo-boolean optimization for multiple criteria decision making in complex systems. In Proceedings of the 7th international conference on Computational Science (ICCS '07), Part IV, pages 194--201, Berlin, Heidelberg, 2007. Springer-Verlag.
[2]
}}P. Barth. A Davis-Putnam based enumeration algorithm for linear pseudo-Boolean optimization. Technical report, Technical Report MPI-I-95-2-003, Max Planck Institute., 1995.
[3]
}}D. L. Berre, O. Roussel, and L. Simon. International SAT 2009 competition, 2009. http://www.satcompetition.org/2009/.
[4]
}}L. Bixin. Managing dependencies in component-based systems based on matrix model. In NETObjectDays'03, 2003.
[5]
}}D. Burrows. Modelling and resolving software dependencies, 2005. Debian.
[6]
}}D. Di Ruscio, P. Pelliccione, A. Pierantonio, and S. Zacchiroli. Towards maintainer script modernization in foss distributions. In Proceedings of the 1st international workshop on Open component ecosystems (IWOCE '09), pages 11--20, New York, NY, USA, 2009. ACM.
[7]
}}N. Eéen and N. Sörensson. Translating pseudo-Boolean constraints into SAT. Journal on Satisfiability, Boolean Modeling and Computation, 2:1--26, March 2006.
[8]
}}M. Ehrgott. Multicriteria optimization. Lecture Notes in Economics and Mathematical Systems. Springer-Verlag, 2000.
[9]
}}M. Ehrgott and X. Gandibleux. A survey and annoted bibliography of multiobjective combinatorial optimization. OR Spektrum, 2000.
[10]
}}F. Heras, V. Manquinho, and J. Marques-Silva. On applying unit propagation-based lower bounds in pseudo-Boolean optimization. In Proceedings of International FLAIRS Conference, 2008.
[11]
}}N. LaBelle and E. Wallingford. Inter-package dependency networks in open-source software. Technical report, Computer Science Department, University of Northern Iowa, 2004.
[12]
}}D. Le Berre and A. Parrain. On SAT technologies for dependency management and beyond. ASPL, 2008.
[13]
}}D. Le Berre and P. Rapicault. Dependency management for the eclipse ecosystem: eclipse p2, metadata and resolution. In Proceedings of the 1st international workshop on Open component ecosystems(IWOCE '09), pages 21--30, New York, NY, USA, 2009. ACM.
[14]
}}F. Mancinelli, J. Boender, R. Di Cosmo, J. Vouillon, B. Durak, X. Leroy, and R. Treinen. Managing the complexity of large free and open source package-based software distributions. In International Conference on Automated Software Engineering (ASE'06), pages 199--208. IEEE Computer Society, 2006.
[15]
}}P. Manolios, D. Vroon, and G. Subramanian. Automating component-based system assembly. In Proceedings of the 2007 international symposium on Software testing and analysis (ISSTA '07), pages 61--72, New York, NY, USA, 2007. ACM.
[16]
}}V. Manquinho, J. Marques-Silva, and J. Planes. Algorithms for weighted boolean optimization. In Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing, 2009.
[17]
}}V. Manquinho and O. Roussel. PBO competition 2009, 2009. http://www.cril.univ-artois.fr/PB09/.
[18]
}}S. Mouthuy, L. Quesada, and G. Doom. Search heuristics and optimisations to solve package installability problems by constraint programming. Technical report, Department of CSE, UC Louvain, October 2006.
[19]
}}G. Niemeyer. Smart package manager, 2009. http://labix.org/smart.
[20]
}}R. D. C. Pietro Abate, Jaap Boender and S. Zacchiroli. Strong dependencies between software components. In Proceedings of 3rd International Symposium on Empirical Software Engineering and Measurement (ESEM '09), 2009.
[21]
}}D. project. Debian popularity contest, 2009. http://popcon.debian.org/.
[22]
}}O. Roussel and V. M. Manquinho. Pseudo-Boolean and cardinality constraints. In A. Biere, M. Heule, H. van Maaren, and T. Walsh, editors, Handbook of Satisfiability, volume 185 of Frontiers in Artificial Intelligence and Applications, pages 695--733. IOS Press, 2009.
[23]
}}H. M. Sheini and K. A. Sakallah. Pueblo: A hybrid pseudo-boolean sat solver. Journal on Satisfiability, Boolean Modeling and Computation, 2:2006, 2006.
[24]
}}J. A. Stafford and A. L. Wolf. Architecture-level dependence analysis in support of software maintenance. In Proceedings of the third international workshop on Software architecture (ISAW '98), pages 129--132, New York, NY, USA, 1998. ACM.
[25]
}}R. Treinen and S. Zacchiroli. Expressing advanced user preferences in component installation. In Proceedings of the 1st international workshop on Open component ecosystems (IWOCE '09), pages 31--40, New York, NY, USA, 2009. ACM.
[26]
}}P. Trezentos. Apt-pbo homepage, 2009. http://aptpbo.caixamagica.pt/.
[27]
}}P. Trezentos, R. Di Cosmo, L. Lauriére, M. Morgado, J. Abecasis, F. Mancinelli, and A. Oliveira. New Generation of Linux Meta-installers. Research Track of FOSDEM 2007, 2007.
[28]
}}C. Tucker, D. Shufflelton, R. Jhala, and S. Lerner. Opium: Optimal package install/uninstall manager. In 29th International Conference on Software Engineering (ICSE 07), pages 178--188, 2007.
[29]
}}M. Vieira and D. Richardson. Analyzing dependencies in large component-based systems. In Proceedings of the 17th IEEE international conference on Automated Software Engineering (ASE '02), page 241, Washington, DC, USA, 2002. IEEE Computer Society.
[30]
}}I.-C. Yoon, A. Sussman, A. Memon, and A. Porter. Effective and scalable software compatibility testing. In Proceedings of the 2008 international symposium on Software testing and analysis (ISSTA '08), pages 63--74, New York, NY, USA, 2008. ACM.
[31]
}}S. Zacchiroli, R. Di Cosmo, and P. Trezentos. Package upgrades in FOSS distributions: Details and challenges. In First ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), October 2008.

Cited By

View all
  • (2024)How to Pet a Two-Headed Snake? Solving Cross-Repository Compatibility Issues with HeraProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695064(694-705)Online publication date: 27-Oct-2024
  • (2024)A Knowledge Graph Based Technology of Operating System Software Repository Evolution Analysis2024 IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA)10.1109/ISPA63168.2024.00025(133-142)Online publication date: 30-Oct-2024
  • (2024)Automatic algorithm selection for Pseudo-Boolean optimization with given computational time limitsComputers & Operations Research10.1016/j.cor.2024.106836(106836)Online publication date: Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering
September 2010
534 pages
ISBN:9781450301169
DOI:10.1145/1858996
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 September 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. component management
  2. dependencies solving
  3. meta-installer
  4. pseudo-boolean optimization

Qualifiers

  • Research-article

Conference

ASE10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)How to Pet a Two-Headed Snake? Solving Cross-Repository Compatibility Issues with HeraProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695064(694-705)Online publication date: 27-Oct-2024
  • (2024)A Knowledge Graph Based Technology of Operating System Software Repository Evolution Analysis2024 IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA)10.1109/ISPA63168.2024.00025(133-142)Online publication date: 30-Oct-2024
  • (2024)Automatic algorithm selection for Pseudo-Boolean optimization with given computational time limitsComputers & Operations Research10.1016/j.cor.2024.106836(106836)Online publication date: Sep-2024
  • (2022)NufixProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510118(1545-1557)Online publication date: 21-May-2022
  • (2022)Testing and Integration Method Utilization for Restricted Software DevelopmentArtificial Intelligence and Data Science10.1007/978-3-031-21385-4_28(336-347)Online publication date: 14-Dec-2022
  • (2021)On Solving the Multi-Objective Software Package Upgradability ProblemResearch Anthology on Usage and Development of Open Source Software10.4018/978-1-7998-9158-1.ch007(133-155)Online publication date: 2021
  • (2020)Dependency Solving Is Still Hard, but We Are Getting Better at It2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER48275.2020.9054837(547-551)Online publication date: Feb-2020
  • (2019)VersionClimber: Version Upgrades Without TearsComputing in Science and Engineering10.1109/MCSE.2019.292189821:5(87-93)Online publication date: 1-Sep-2019
  • (2018)On Solving the Multi-Objective Software Package Upgradability ProblemInternational Journal of Open Source Software and Processes10.4018/IJOSSP.20180401029:2(18-38)Online publication date: 1-Apr-2018
  • (2016)An empirical study of integration activities in distributions of open source softwareEmpirical Software Engineering10.1007/s10664-015-9371-y21:3(960-1001)Online publication date: 1-Jun-2016
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media