Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 392)
Detail práce
   Přihlásit přes CAS
Package manager for C++
Název práce v češtině: Package manager pre C++
Název v anglickém jazyce: Package manager for C++
Klíčová slova: package manager|C++
Klíčová slova anglicky: package manager|C++
Akademický rok vypsání: 2022/2023
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra softwarového inženýrství (32-KSI)
Vedoucí / školitel: RNDr. David Bednárek, Ph.D.
Řešitel: Mgr. Peter Fačko - zadáno a potvrzeno stud. odd.
Datum přihlášení: 04.07.2023
Datum zadání: 11.07.2023
Datum potvrzení stud. oddělením: 18.07.2023
Datum a čas obhajoby: 11.09.2024 09:00
Datum odevzdání elektronické podoby:17.07.2024
Datum odevzdání tištěné podoby:18.07.2024
Datum proběhlé obhajoby: 11.09.2024
Oponenti: Mgr. Jiří Klepl
 
 
 
Zásady pro vypracování
Modern programming language environments are usually connected with package managers that provide the ability to download, update, and integrate third-party software libraries. This is, however, not the case of C++ that has no established package management standard. Although two package managers, namely vcpkg and Conan, as well as Linux system package managers are frequently used for the distribution of C++ libraries, significant number of important libraries are not yet presented in any of the three systems. As a result, many C++ developers consider managing library dependencies a significant problem in C++ development. While the poor adoption of package managers on the part of library creators will not improve overnight, the situation may be improved on the side of library users, by hiding the differences and complexities of various package managers under a unified interface.

The goal of this thesis is to create a formal model describing and generalizing package managers for the C++ environment. Covered by the model will be the functionality of both C++-specific package managers and system package managers. The model’s main focus will be package compatibility, which includes versioning and build-system integration. As an implementation of this model, a new package (meta-)manager will be created. To demonstrate the functionality, the new package manager will integrate a selected existing C++-specific package manager and, at a limited degree of functionality, one system package manager. The integration will consist of the ability to consume packages provided by the underlying manager as well as providing unified interface to most common functionality like updates.
Seznam odborné literatury
- Pietro Abate et al. “MPM: a modular package manager”. In: Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering. 2011, pp. 179–188.
- Antonio Cicchetti et al. “A model driven approach to upgrade package-based software systems”. In: Evaluation of Novel Approaches to Software Engineering: 3rd and 4th International Conferences, ENASE 2008/2009, Funchal, Madeira, Portugal, May 4-7, 2008/Milan, Italy, May 9-10, 2009. Revised Selected Papers 3. Springer. 2010, pp. 262–276.
- Andre Miranda and Joao Pimentel. “On the use of package managers by the C++ open-source community”. In: Proceedings of the 33rd Annual ACM Symposium on Applied Computing. 2018, pp. 1483–1491.
- Jacob Stringer et al. “Technical lag of dependencies in major package managers”. In: 2020 27th Asia-Pacific Software Engineering Conference (APSEC). IEEE. 2020, pp. 228–237.
 
Univerzita Karlova | Informační systém UK