Päivitysvelka ohjelmistoprojektissa ja sen hallinta
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
School of Science |
Master's thesis
Authors
Date
2024-09-23
Department
Major/Subject
Computer Science
Mcode
Degree programme
Master's Programme in Computer, Communication and Information Sciences
Language
fi
Pages
43
Series
Abstract
Dependency management is an important topic in software development, especially when external and open-source code is used, because that code may contain prob-lems, for example vulnerabilities. When external code receives updates, the software developers should examine the updates and the need to update them. If this is not done, an update debt arises. Many tools havebeen developed to manage dependencies. Five dependency management tools were tested in this thesis. Testing was done with a simple test project that contained problematic dependencies. During the testing, good and bad aspects of these tools were found, which were used as a basis for a list of comparison criteria, which are meant for software developers so they can choose suitable tools for their own projects. The following comparable features were found in the tools: Discovery of vulnerabilities and coverage of these vulnerabilities, automaticity, examination of license problems, installation environment, price and support.Riippuvuuksien hallinta on tärkeä aihe ohjelmistokehityksessä, etenkin silloin kun käytetään ulkoista ja avointa koodia, sillä tällainen koodi voi sisältää ongelmia, esimerkiksi haavoittuvuuksia. Kun tällainen ulkoinen koodi saa päivityksiä, on ohjelmistoprojektissa syytä tutkia päivityksiä ja niiden päivittämisen tarpeellisuutta. Jos tämä jätetään tekemättä, syntyy päivitysvelkaa. Riippuvuuksien hallintaan on kehitetty monia työkaluja. Tässä diplomityössä testattiin viittä riippuvuuksienhallintatyökalua. Testaus tapahtui yksinkertaisessa testiprojektissa, joka sisälsi ongelmallisia riippuvuuksia. Testauksen yhteydessä tällaisista työkaluista löydettiin hyviä ja huonoja puolia, joiden avulla kehitettiin lista vertailukriteereistä, joiden avulla ohjelmistokehittäjät voivat valita sopivat työkalut omiin projekteihinsa. Työkaluista löydettiin seuraavanlaisia vertailtavia ominaisuuksia: haavoittuvuuksien löytäminen ja löydösten kattavuus, automaattisuus, lisenssiongelmien tutkiminen, asennusympäristö, hinta ja työkalun tuen määrä.Description
Supervisor
Vuorimaa, PetriThesis advisor
Kivelä, OlliKeywords
ohjelmistokehitys, riippuvuudet, riippuvuuksienhallintatyökalut, haavoittuvuudet, päivitysvelka, riippuvuuksien päivitys