Linux: la qualità del codice del kernel premiata

Notizie in diretta dal mondo della tecnologia e di Linux.

Moderators: sabayonino, Moderators

Linux: la qualità del codice del kernel premiata

Postby sabayonino » Fri May 17, 2013 11:26

da OneOpensource.it
Linux: la qualità del codice del kernel premiata da uno studio

Coverity e il Dipartimento di Sicurezza Nazionale degli Stati Uniti portano avanti, ormai dalle 2006, un progetto di ricerca denominato “Coverity Scan Open Source Report” che negli anni si è guadagnato la nomea di benchmark per la qualità generale del codice prodotto dai progetti a codice aperto. Questa settimana è stata rilasciata la versione 2012 del rapporto, dove si trovano considerazioni interessanti per il confronto tra i modelli di sviluppo aperti e proprietari.

Il lavoro di ricerca consiste nell’analizzare 68 milioni di righe di codice di software FOSS, e circa 300 milioni di righe di codice proprietario. Coverity esegue quella che si dice analisi statica del codice, ovvero un’analisi matematica (dunque senza necessità di eseguire il programma) alla ricerca di difetti come spreco di risorse, accessi non consentiti alla memoria e flussi di controllo errati. Coverity fornisce appunto un servizio di analisi statica che è gratuito per progetti open source e a pagamento per software proprietari, e attinge a questa base di utenti per pubblicare il suo rapporto annuale. Vediamo i punti chiave di quest’anno.

I progetti open source con una base di codice compresa tra 500000 e 1 milione di righe di codice hanno riscontrato una densità di difetti pari a 0,44 per KLOC (KiloLines of Code, ogni 1000 righe di codice) contro un valore più che doppio rilevato nei software proprietari (0.98). Prendendo però in considerazione i progetti con una base di codice superiore al milione di righe il discorso si ribalta: i progetti proprietari presentano meno difetti, con una densità di difetti pari a 0,66 per KLOC contro i 0,75 dei progetti aperti. A cosa può essere dovuta questa differenza?

Lo studio fornisce questa spiegazione nelle sue conclusioni: all’inizio della loro vita i progetti open come Linux contano un gruppo ristretto di sviluppatori estremamente a loro agio con la base di codice, ma man mano che il progetto cresce e attira nuovi sviluppatori spesso non si è del tutto preparati a gestire la nuova complessità; al contrario il formalismo dei controlli e del testing necessari nei team di sviluppo proprietari comporta una fase iniziale molto più difficoltosa, ma che una volta domata porta benefici a lungo termine in termini di controllo qualità. A cambiare è cioè il punto della vita del progetto nel quale viene introdotto un controllo di qualità e un testing più rigoroso, che nei progetti proprietari è parte integrante fin dall’avvio mentre nei progetti open tende ad arrivare solo successivamente.

Al kernel Linux viene dedicato tuttavia un capitolo a parte: in questo 2012 le varie versioni del kernel gestito da Linus Torvalds, che ormai orbitano attorno alla spaventosa cifra di 7 milioni e mezzo di righe di codice, hanno registrato una densità di difetti pari solamente a 0,66 per KLOC. Nell’ultima versione, la 3.8, il valore si abbassa fino a 0,59 per KLOC. Per Coverity il kernel Linux rimane, come negli altri anni, “un benchmark di qualità per l’industria“.
User avatar
sabayonino
Sagely Hen
 
Posts: 2678
Joined: Sun Sep 21, 2008 1:12
Location: Italy

Return to Sezione Notizie

Who is online

Users browsing this forum: No registered users and 1 guest