Haku

Ohjelmakoodin kompleksisuuden mittaaminen metoditasolla

QR-koodi

Ohjelmakoodin kompleksisuuden mittaaminen metoditasolla

Measuring Software Complexity at Method Level

Ohjelmakoodin kompleksisuus tekee koodista vaikeammin ylläpidettävää. Heikko ylläpidettävyys näkyy suurempina kustannuksina. Kompleksisuuden seuraaminen voi auttaa ohjaamaan kaikkia ohjelmistoprojektien vaiheita määrittelystä ylläpitämiseen. Tässä työssä tutkitaan kolmea laajasti tunnettua kompleksisuusmittaria, joita voidaan käyttää metoditason kompleksisuuden seuraamiseen. Tutkitut mittarit ovat syklomaattinen kompleksisuus, Halsteadin ohjelmistometriikat ja ylläpidettävyysindeksi.

Työssä tutkittiin mittareiden käyttäytymistä analysoimalla ohjelmallisesti 6448 metodia Java-kielisestä avoimen lähdekoodin projektista. Tutkimus koostui kahdesta osasta. Ensimmäisessä vaiheessa mittareiden antamista tuloksista laskettiin korrelaatiomatriisi ja piirrettiin hajontakaaviot. Toisessa vaiheessa tutkittiin mittareiden käyttäytymistä tekemällä havaintoja kompleksisimmista metodeista. Lisäksi vertailtiin keskenään rivimääriltään yhtä pitkiä, mutta kompleksisuudeltaan erilaisia metodeja.

Tutkimuksessa selvisi, että kaikkien mittarien antamat tulokset olivat melko vahvasti riippuvaisia metodien rivimääristä. Suurin korrelaatio, joka oli arvoltaan 0,942, löytyi syklomaattisen kompleksisuuden ja ohjelmakoodin rivimäärän väliltä.

Mittareiden käyttäytymisestä löydettiin eroja. Syklomaattiselta kompleksisuudeltaan kompleksisemmissa metodeissa käytettiin paljon switch-lauseita sekä lyhyitä ehtolauseita ja silmukkarakenteita. Halsteadin työmäärän ja vaikeuden mukaan kompleksisemmat metodit sisälsivät keskimäärin pidempiä rivejä ja enemmän erilaisia ohjelmointikielen rakenteita. Ylläpidettävyysindeksin mukaan vaikeammin ylläpidettävissä metodeissa havaittiin sekä paljon silmukkarakenteita, ehto- ja switch-lauseita että pitkiä rivejä ja useiden erilaisten ohjelmointikielen rakenteiden käyttöä.

Tallennettuna: