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 2010Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  3. }}D. L. Berre, O. Roussel, and L. Simon. International SAT 2009 competition, 2009. http://www.satcompetition.org/2009/.Google ScholarGoogle Scholar
  4. }}L. Bixin. Managing dependencies in component-based systems based on matrix model. In NETObjectDays'03, 2003.Google ScholarGoogle Scholar
  5. }}D. Burrows. Modelling and resolving software dependencies, 2005. Debian.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  8. }}M. Ehrgott. Multicriteria optimization. Lecture Notes in Economics and Mathematical Systems. Springer-Verlag, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}M. Ehrgott and X. Gandibleux. A survey and annoted bibliography of multiobjective combinatorial optimization. OR Spektrum, 2000.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  11. }}N. LaBelle and E. Wallingford. Inter-package dependency networks in open-source software. Technical report, Computer Science Department, University of Northern Iowa, 2004.Google ScholarGoogle Scholar
  12. }}D. Le Berre and A. Parrain. On SAT technologies for dependency management and beyond. ASPL, 2008.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}V. Manquinho and O. Roussel. PBO competition 2009, 2009. http://www.cril.univ-artois.fr/PB09/.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  19. }}G. Niemeyer. Smart package manager, 2009. http://labix.org/smart.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}D. project. Debian popularity contest, 2009. http://popcon.debian.org/.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. }}P. Trezentos. Apt-pbo homepage, 2009. http://aptpbo.caixamagica.pt/.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • 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

        Copyright © 2010 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 September 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate82of337submissions,24%

        Upcoming Conference

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader