Dependencies between Haskell code fragments
- Code package managers like Cabal track dependencies between packages. But packages rarely use the functionality that their dependencies provide. This leads to unnecessary compilation of unused parts and to speculative conflicts between package versions where there are no conflicts. In two case studies we show how relevant these two problems are. We then describe how we could avoid them by tracking dependencies not between packages but between individual code fragments.
- Paketmanager für Quellcode wie zum Beispiel Cabal verwalten unter anderem die Abhängigkeiten zwischen Paketen. Softwareprojekte nutzen jedoch selten sämtliche Funktionalitäten, die ihre Abhängigkeiten bereitstellen. Das führt zur unnötigen Kompilation unbenutzter Code-Fragmente und zu vermeintlichen Versionskonflikten, wo gar keine Konflikte sind. In zwei Fallstudien zeigen wir, wie relevant diese zwei Probleme sind. Danach beschreiben wir, wie wir sie vermeiden können, indem wir Abhängigkeiten nicht zwischen ganzen Paketen, sondern zwischen einzelnen Code-Fragmenten feststellen.
Author: | Philipp Schuster |
---|---|
URN: | urn:nbn:de:kola-9147 |
Referee: | Ralf Lämmel, Martin Leinberger |
Document Type: | Master's Thesis |
Language: | English |
Date of completion: | 2015/03/16 |
Date of publication: | 2015/03/16 |
Publishing institution: | Universität Koblenz, Universitätsbibliothek |
Granting institution: | Universität Koblenz, Fachbereich 4 |
Release Date: | 2015/03/16 |
Number of pages: | iv, 48 |
Institutes: | Fachbereich 4 / Institut für Softwaretechnik |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Licence (German): | Es gilt das deutsche Urheberrecht: § 53 UrhG |