skip to main content
10.1145/2568225.2568306acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Towards efficient optimization in package management systems

Published:31 May 2014Publication History

ABSTRACT

Package management as a means of reuse of software artifacts has become extremely popular, most notably in Linux distributions. At the same time, successful package management brings about a number of computational challenges. Whenever a user requires a new package to be installed, a package manager not only installs the new package but it might also install other packages or uninstall some old ones in order to respect dependencies and conflicts of the packages. Coming up with a new configuration of packages is computationally challenging. It is in particular complex when we also wish to optimize for user preferences, such as that the resulting package configuration should not differ too much from the original one. A number of exact approaches for solving this problem have been proposed in recent years. These approaches, however, do not have guaranteed runtime due to the high computational complexity of the problem. This paper addresses this issue by devising a hybrid approach that integrates exact solving with approximate solving by invoking the approximate part whenever the solver is running out of time. Experimental evaluation shows that this approach enables returning high-quality package configurations with rapid response time.

References

  1. 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 FRCSS ’06 workshop, ser. EASST Newsletter, vol. 12. Vienna, Autriche: EASST, 2006, pp. 7–20.Google ScholarGoogle Scholar
  2. C. Tucker, D. Shuffelton, R. Jhala, and S. Lerner, “OPIUM: Optimal package install/uninstall manager,” in 29th International Conference on Software Engineering, ICSE, 2007, pp. 178–188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ASE. IEEE Computer Society, 2006, pp. 199–208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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, ser. IWOCE ’09. New York, NY, USA: ACM, 2009, pp. 21–30. {Online}. Available: http://doi.acm.org/10.1145/1595800.1595805 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Gebser, R. Kaminski, and T. Schaub, “aspcud: A Linux package configuration tool based on answer set programming,” in LoCoCo, ser. EPTCS, C. Drescher, I. Lynce, and R. Treinen, Eds., vol. 65, 2011, pp. 12–25.Google ScholarGoogle Scholar
  6. “Eclipse project,” http://www.eclipse.org/.Google ScholarGoogle Scholar
  7. C. Hoover, “A methodology for determining response time baselines,” in Int. CMG Conference. Computer Measurement Group, 2006, pp. 85–94.Google ScholarGoogle Scholar
  8. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson, “Feature-oriented domain analysis (FODA) feasibility study,” Carnegie Mellon University, Nov., Tech. Rep. CMU/SEI-90-TR-021, 1990.Google ScholarGoogle Scholar
  9. E. C. Bailey, “Maximum RPM: Taking the Red Hat package manager to the limit,” http://www.rpm.org/max-rpm.Google ScholarGoogle Scholar
  10. J. R. O. Aoki, “Debian new maintainers’ guide,” http: //www.debian.org/doc/devel-manuals#maint-guide.Google ScholarGoogle Scholar
  11. R. Treinen and S. Zacchiroli, “Common upgradeability description format (CUDF) 2.0,” MANCOOSI, Tech. Rep. 003, Nov. 2009, http://www.mancoosi.org/reports/tr3.pdf.Google ScholarGoogle Scholar
  12. “Mancoosi international solver competition,” http://www.mancoosi.org/misc.Google ScholarGoogle Scholar
  13. “Mancoosi software,” http://www.mancoosi.org/software.Google ScholarGoogle Scholar
  14. C. M. Li and F. Manyà, “MaxSAT, hard and soft constraints,” in Handbook of Satisfiability, ser. Frontiers in Artificial Intelligence and Applications, A. Biere, M. Heule, H. van Maaren, and T. Walsh, Eds. IOS Press, 2009, vol. 185, pp. 613–631.Google ScholarGoogle Scholar
  15. M. Janota, I. Lynce, V. M. Manquinho, and J. Marques-Silva, “PackUp: Tools for package upgradability solving,” JSAT, vol. 8, no. 1/2, pp. 89–94, 2012.Google ScholarGoogle Scholar
  16. M. Ehrgott, Multicriteria Optimization (2. ed.). Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Marques-Silva, J. Argelich, A. Gra¸ ca, and I. Lynce, “Boolean lexicographic optimization: algorithms & applications,”” Ann. Math. Artif. Intell., vol. 62, no. 3-4, pp. 317–343, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Trezentos, I. Lynce, and A. L. Oliveira, “Apt-pbo: solving the software dependency problem using pseudo-boolean optimization,” in ASE, C. Pecheur, J. Andrews, and E. D. Nitto, Eds. ACM, 2010, pp. 427–436. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, “Multi-criteria optimization in answer set programming,” in ICLP (Technical Communications), ser. LIPIcs, J. P. Gallagher and M. Gelfond, Eds., vol. 11. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2011, pp. 1–10.Google ScholarGoogle Scholar
  20. J. Argelich, D. Le Berre, I. Lynce, J. Marques-Silva, and P. Rapicault, “Solving linux upgradeability problems using Boolean optimization,” in LoCoCo, ser. EPTCS, I. Lynce and R. Treinen, Eds., vol. 29, 2010, pp. 11–22.Google ScholarGoogle Scholar
  21. K. Smyth, H. H. Hoos, and T. Stützle, “Iterated robust tabu search for MAX-SAT,” in Canadian Conference on AI, ser. Lecture Notes in Computer Science, Y. Xiang and B. Chaib-draa, Eds., vol. 2671. Springer, 2003, pp. 129–144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. H. Liffiton and K. A. Sakallah, “Algorithms for computing minimal unsatisfiable subsets of constraints,” J. Autom. Reasoning, vol. 40, no. 1, pp. 1–33, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Marques-Silva, F. Heras, M. Janota, A. Previti, and A. Belov, “On computing minimal correction subsets,” in IJCAI, F. Rossi, Ed. IJCAI/AAAI, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. “Package upgradability problem solver,” http://sat.inesc-id.pt/˜mikolas/sw/packup/.Google ScholarGoogle Scholar
  25. N. Eén and N. Sörensson, “An Extensible SAT-solver,” in Theory and Applications of Satisfiability Testing, 2003, pp. 502–518.Google ScholarGoogle Scholar
  26. J. Vouillon and R. Di Cosmo, “Broken sets in software repository evolution,” in ICSE, D. Notkin, B. H. C. Cheng, and K. Pohl, Eds. IEEE / ACM, 2013, pp. 412–421. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Bouveret and M. Lemaˆıtre, “Computing leximin-optimal solutions in constraint networks,” Artif. Intell., vol. 173, no. 2, pp. 343–364, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Gebser, R. Kaminski, and T. Schaub, “aspcud: A Linux package configuration tool based on answer set programming,” in Proceedings of the Second International Workshop on Logics for Component Configuration (LoCoCo’11), ser. Electronic Proceedings in Theoretical Computer Science (EPTCS), C. Drescher, I. Lynce, and R. Treinen, Eds., vol. 65, 2011, pp. 12–25.Google ScholarGoogle ScholarCross RefCross Ref
  29. “Apt – Debian Wiki,” https://wiki.debian.org/Apt, accessed: 2014-02-27.Google ScholarGoogle Scholar
  30. “Portal:Libzypp – openSUSE,” http://en.opensuse.org/Portal:Libzypp, accessed: 2014-02-27.Google ScholarGoogle Scholar

Index Terms

  1. Towards efficient optimization in package management systems

            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
              ICSE 2014: Proceedings of the 36th International Conference on Software Engineering
              May 2014
              1139 pages
              ISBN:9781450327565
              DOI:10.1145/2568225

              Copyright © 2014 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 the author(s) 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: 31 May 2014

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate276of1,856submissions,15%

              Upcoming Conference

              ICSE 2025

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader