Den nyeste koden til den vanligste implementeringen av programmeringsspråket Python inneholder særdeles få defekter. (Bilde: PantherMedia og digi.no)

Fabelaktig kodekvalitet i Python

Nærmer seg NASA-nivå.

Python Software Foundation kan juble over å ha blitt kåret til mestere i kodekvalitet. Coverity, et selskap som tilbyr verktøy og tjenester for avdekke alvorlige kvalitets- og sikkerhetsdefekter i kildekoden til programvare, kunngjorde i går at Python Software Foundations implementering av Python-programmeringsspråket har etablert et helt nytt nivå for kodeintegritet blant åpen kildekode-programvare.

Coverity har siden 2006, i samarbeid med U.S. Department of Homeland Security, skannet kildekoden til mer enn 450 åpen kildekode-prosjekter, hvor koden er skrevet i Java, C eller C++. Python var blant de første åpen kildekode-prosjektene som ble med i Coverity Scan-prosjektet, som hjelper fellesskapet med å finne og fjerne defekter i koden.

Coverity skriver i en pressemelding at Python nå har en defekttetthet på 0,005. Det betyr at det er 0,005 defekter per tusen linjer med kode (KLOC), eller 1 defekt per 200 000 kodelinjer. Ifølge Coverity er alle høyrisiko-defektene som tidligere har blitt avdekket, nå blitt fjernet fra kodebasen på knapt 400 000 kodelinjer

I 2012 var den gjennomsnittlige defekttetthet i de åpen kildekode-prosjektene som Coverity hadde skannet, på 0,69. I blant prosjektet med kodestørrelse på mellom 100 000 og 499 999 linjer, var gjennomsnittlig defekttetthet på 0,60 for åpen kildekode-prosjekter og 0,66 for proprietær programvare.

Ifølge Coverity defineres en defekttetthet på 1,0 som programvare med god kvalitet av den allment aksepterte bransjestandarden. Dette tilsvarer altså én defekt per tusen kodelinjer.

Python er likevel ikke helt det som skal være NASA-nivå. I en artikkel som Fast Company publiserte i 1996, fortelles det at de (den gang) tre siste versjonene av programvaren som kontrollerte oppskytingen av romfergene i NASAs nedlagte Space Shuttle-program, som alle var på 420 000 kodelinjer, kun hadde én feil hver. De elleve siste versjonene (før 1996) hadde på sin side 17 defekter til sammen.

En grundigere gjennomgang av analysen av Python-koden, finnes her. I dokumentet opplyses det også hva Python-prosjektet har gjort for å oppnå så lav defekttetthet.

    Les også:

Til toppen