Päivitysvelka ohjelmistoprojektissa ja sen hallinta

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

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, Petri

Thesis advisor

Kivelä, Olli

Keywords

ohjelmistokehitys, riippuvuudet, riippuvuuksienhallintatyökalut, haavoittuvuudet, päivitysvelka, riippuvuuksien päivitys

Other note

Citation