Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

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

Link copiato negli appunti

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".

Ti consigliamo anche