Koodin katselmus avoimen lähdekoodin ohjelmistoprojekteissa
Niemelä, Timi (2024)
Niemelä, Timi
2024
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-05-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202405135761
https://urn.fi/URN:NBN:fi:tuni-202405135761
Tiivistelmä
Avoimen lähdekoodin ohjelmistot ovat ohjelmistoja, joiden lähdekoodi on vapaasti saatavilla ja muokattavissa. Nämä ohjelmistot ovat yhä suurempia ja merkittävämpiä, minkä vuoksi niiden laatu on yhä tärkeämpää. Yksi merkittävimmistä laadun varmistuksen käytänteistä näiden ohjelmistojen kehityksessä on koodin katselmus, jossa muutos ohjelmistoon vertaisarvioidaan päätavoitteena löytää vikoja.
Tässä työssä tarkastellaan vikojen löytymistä avoimen lähdekoodin ohjelmistoprojektien koodin katselmuksissa. Työn tavoitteena on selvittää, mitä vikoja katselmusten aikana löydetään ja korjataan sekä mitkä tekijät vaikuttavat katselmusten onnistumiseen eli näiden vikojen löytymiseen. Näiden perusteella on myös pohdittu, millaisissa projekteissa koodin katselmukset ovat tärkeimpiä ja miten katselmuksista voidaan saada tehokkaampia. Tutkimus on kirjallisuuskatsaus, jossa aineistoiksi on pääasiassa otettu tutkimuksia, joissa on analysoitu koodin katselmuksia tai haastateltu niihin osallistuneita kehittäjiä avoimen lähdekoodin ohjelmistoprojekteissa.
Tutkimustulokseksi on saatu, että suurin osa katselmusten aikana löydetyistä vioista liittyvät ohjelmiston ylläpidettävyyteen eli koodin ymmärrettävyyteen ja luettavuuteen. Ylläpidettävyyteen liittyvistä vioista löydetään ja korjataan etenkin virheitä dokumentaatiossa ja rakenteessa. Toiminnallisuuteen liittyviä eli ohjelmiston toimintaa muuttavia vikoja löydetään huomattavasti vähemmän. Näistä toiminnallisuuteen liittyvistä vioista yleisimmin havaitut liittyvät rajapintoihin, logiikkaan ja tarkistukseen.
Vikojen löytymiseen vaikuttaa avoimen lähdekoodin ohjelmistoprojekteille ominaiset sosiaaliset ja inhimilliset tekijät, kuten intohimo, osallistumisen nautinto, projektista ja yhteisöstä välittäminen. Monet myös kokevat, että osallistumisella on heille hyötyä projektin ulkopuolella. Arviointia katselmuksissa vaikeuttavat suuret koodimuutokset sekä heikot muutosten kuvaukset. Lisäksi projektissa uusien ja kokemattomien kehittäjien muutoksissa on enemmän vikoja kuin kokeneempien kehittäjien. Toisaalta arvioijien osallistumisella tai katselmuskattavuudella ei ole merkittävää vaikutusta ainakaan toiminnallisten vikojen löytymiseen.
Tässä työssä tarkastellaan vikojen löytymistä avoimen lähdekoodin ohjelmistoprojektien koodin katselmuksissa. Työn tavoitteena on selvittää, mitä vikoja katselmusten aikana löydetään ja korjataan sekä mitkä tekijät vaikuttavat katselmusten onnistumiseen eli näiden vikojen löytymiseen. Näiden perusteella on myös pohdittu, millaisissa projekteissa koodin katselmukset ovat tärkeimpiä ja miten katselmuksista voidaan saada tehokkaampia. Tutkimus on kirjallisuuskatsaus, jossa aineistoiksi on pääasiassa otettu tutkimuksia, joissa on analysoitu koodin katselmuksia tai haastateltu niihin osallistuneita kehittäjiä avoimen lähdekoodin ohjelmistoprojekteissa.
Tutkimustulokseksi on saatu, että suurin osa katselmusten aikana löydetyistä vioista liittyvät ohjelmiston ylläpidettävyyteen eli koodin ymmärrettävyyteen ja luettavuuteen. Ylläpidettävyyteen liittyvistä vioista löydetään ja korjataan etenkin virheitä dokumentaatiossa ja rakenteessa. Toiminnallisuuteen liittyviä eli ohjelmiston toimintaa muuttavia vikoja löydetään huomattavasti vähemmän. Näistä toiminnallisuuteen liittyvistä vioista yleisimmin havaitut liittyvät rajapintoihin, logiikkaan ja tarkistukseen.
Vikojen löytymiseen vaikuttaa avoimen lähdekoodin ohjelmistoprojekteille ominaiset sosiaaliset ja inhimilliset tekijät, kuten intohimo, osallistumisen nautinto, projektista ja yhteisöstä välittäminen. Monet myös kokevat, että osallistumisella on heille hyötyä projektin ulkopuolella. Arviointia katselmuksissa vaikeuttavat suuret koodimuutokset sekä heikot muutosten kuvaukset. Lisäksi projektissa uusien ja kokemattomien kehittäjien muutoksissa on enemmän vikoja kuin kokeneempien kehittäjien. Toisaalta arvioijien osallistumisella tai katselmuskattavuudella ei ole merkittävää vaikutusta ainakaan toiminnallisten vikojen löytymiseen.
Kokoelmat
- Kandidaatintutkielmat [8430]