Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Ohjelmavikojen koneellinen tunnistaminen

Lehtimäki, Jukka (2022)

 
Avaa tiedosto
LehtimäkiJukka.pdf (1.326Mt)
Lataukset: 



Lehtimäki, Jukka
2022

Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science
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ä
2022-11-22
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202210277972
Tiivistelmä
Avoimen lähdekoodin ratkaisuja hyödynnetään modernissa ohjelmistokehityksessä laajasti. Pienisistä ohjelmistoprojekteista lähtien aina valtion huoltovarmuuden kannalta oleellisiin järjestelmiin käytetään samoja avoimen lähdekoodin ratkaisuja. Ratkaisujen uskotaan olevan ylläpidettyjä, tietoturvallisia ja toimivia, koska ne toimivat modernin ohjelmistokehityksen kivijalkana. Todellisuudessa kriittisimmistä avoimen lähdekoodin ratkaisuista voi löytyä ”koulukirjaesimerkkejä” ohjelmointivirheestä, joka voi altistaa ratkaisun käyttäjän vaaralle.

Tutkielmassa tutkitaan empiirisilla menetelmällä koneellisesti havaittavien ohjelmavikojen kehittymistä avoimen lähdekoodin Spring-ohjelmistokehyksen kolmen pääversion välillä. Springohjelmistokehys on suosittu ratkaisu Java-ohjelmointikielellä tapahtuvassa ohjelmistokehityksessä. Suuren markkinaosuutensa johdosta Spring-ohjelmistokehys muodostaa kriittisen kivijalan, jonka päälle rakennetaan muita ratkaisuja. Merkittävyytensä johdosta Springohjelmistokehys on ensiluokkainen ehdokas koneelliseen analysointiin.

Koneellinen analysointi suoritettiin käyttämällä kahta modernia staattisen analysoinnin työkalua: Error Prone ja SonarQube nimisiä työkaluja. Työkalujen analysointien tulokset olivat enimmäkseen samaa mieltä ohjelmavikojen jakautumisesta Spring-ohjelmistokehyksen moduuleihin, mutta eri mieltä ohjelmavikojen lukumäärän kehityssuunnasta Springohjelmistokehyksen pääversioiden välillä. Error Prone -työkalun tulokset osoittavat ohjelmavikojen vähentyneen jokaisessa pääversiossa, eikä lähdekoodin lisääntyminen ole korreloinut ohjelmavikojen lukumäärän kanssa. SonarQube-työkalun tulokset päinvastoin osoittavat korrelaation lähdekoodin lisääntymisessä ja ohjelmavikojen lukumäärässä Springohjelmistokehyksen pääversioiden välillä.

Tutkielman tulokset osoittavat Spring-ohjelmistokehyksestä löytyvän ohjelmavikoja, jotka ovat koneellisesti havaittavissa moderneilla staattisen analysoinnin työkaluilla. Työkalut olisi mahdollista integroida osaksi Spring-ohjelmistokehyksen kehitysprosessia, jolloin ne osoittaisivat koneellisesti varmistetun minimitason lähdekoodin laadussa.
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [40800]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste