Traduzione di Alessandro Selli di due articoli sulla qualità e la sicurezza di Linux e del software libero e opensource in genere.
Primo articolo: http://www.wired.com/news/linux/0,1411,66022,00.html?tw=wn_story_top5

Linux: meno bachi dei rivali

Michelle Delio 14 dicembre 2004

I fautori di Linux hanno a lungo insistito che lo sviluppo open-source conduca a software migliore e più sicuro.  Adesso hanno anche le statistiche a sostegno delle loro dichiarazioni.

Secondo un'analisi durata quattro anni dei 5,7 milioni di righe del codice sorgente di Linux eseguita da cinque ricercatori di scienza dell'informazione dell'università di Stanford, il codice del kernel Linux è migliore e più sicuro del codice sorgente della maggior parte del software proprietario.

Il rapporto, la cui diffusione è prevista per martedì, dichiara che il kernel Linux di produzione 2.6, di cui sono equipaggiate le distribuzioni Red Hat, Novell e di altri principali fornitori Linux, contiene 985 bachi nei complessivi 5,7 milioni di linee di codice, molto al di sotto la media dell'industria del software commerciale per uso enterprise.  Windows XP, ad esempio, contiene circa 40 milioni di righe di codice, con nuovi bachi scoperti a ritmo serrato.

Il software commerciale tipicamente contiene dai 20 ai 30 bachi per mille righe di codice, secondo il consorzio per l'elaborazione sostenibile CyLab dell'università Carnegie Mellon.  Questo equivarrebbe ad un numero compreso tra i 114.000 e i 171.000 bachi per 5,7 milioni di righe di codice.

Lo studio ha identificato 0,17 bachi per mille righe di codice nel kernel Linux.  Dei 985 bachi identificati, 627 erano in parti critiche del kernel.  Altre 569 avrebbero potuto causare un crollo del sistema, 100 erano falle di sicurezza e 33 dei bachi avrebbero potuto risultare in prestazioni sub-ottimali del sistema.

Seth Hallem, CEO di Coverity, che effettua analisi di codice sorgente, ha notato che la maggior parte dei bachi documentati nello studio sono stati già sistemati [autonomamente] da membri della comunità di sviluppo open-source.

"Le nostre scoperte mostrano come Linux contenga un rateo di difetti estremamente basso ed è evidenza della grande sicurezza di Linux", ha dichiarato Hallem.  "Molti buchi di sicurezza nel software sono conseguenza di errori di programmazione che possono essere eliminati con validi procedimenti di programmazione".

Il progetto di analisi del codice sorgente è iniziato nel 2000 allo Stanford University Computer Science Research Center e fa parte di una vasta initiativa di ricerca per migliorare i processi fondamentali di ingegnerizzazione software nell'industria del software.

Questa initiativa adesso continua a Coverity, una giovane industria di ingegnerizzazione software che da impiego a cinque ricercatori che conducono lo studio.  Coverity dice di voler iniziare a fornire rapporti sulle analisi dei bachi Linux con regolarità e renderanno un resoconto dei risultati liberamente disponibile alla comunità degli sviluppatori Linux.

"Questo è un beneficio per la comunità degli sviluppatori Linux e apprezziamo gli sforzi di Coverity per aiutarci a migliorare la sicurezza e la stabilità di Linux" ha detto Andrew Morton, responsabile della manutenzione del kernel Linux.  Morton ha detto che gli sviluppatori hanno già affrontato e risolto i bachi di importanza prioritaria scoperti nello studio.



Secondo articolo: http://lwn.net/Articles/22623/

Confronto dei ratei di difettazione tra software proprietario e libero

[estratto]

Martedì una ditta dal nome "Reasoning, Inc." ha diffuso uno studio che sembra provare una cosa che gli sviluppatori Open Source hanno sostenuto per anni: il codice aperto, e l'ispezione che permette, è fonte di un prodotto migliore.  Nello specifico, la compagnia ha confrontato la catasta TCP/IP di Linux con un certo numero di cataste TCP/IP commerciali e ha scoperto che l'implementazione di Linux aveva meno difetti delle altre implementazioni proprietarie.

Il documento, intitolato "How Open-Source and Commercial Software Compare" [Risultati del confronto del software open-source e commerciale], è disponibile dalla Reasoning a richiesta e così abbiamo deciso di dargli un'occhiata per vedere come sono giunti alle loro conclusioni.

[http://www.reasoning.com/downloads/opensource.html, previa registrazione]

Nello specifico, Reasoning ha confrontato l'implementazione TCP/IP di Linux nel kernel 2.4.19 con l'implementazione di cinque prodotti proprietari.  Su un totale di 81.852 righe di codice, Reasoning ha scoperto solamente otto difetti nel codice Linux TCP/IP.

Tutte le altre implementazioni confrontate con Linux tranne una erano vecchie di almeno dieci anni, l'altra era vecchia di tre anni.  La compagnia non ha fatto menzione degli specifici sistemi operativi, ma il CEO di Reasoning Scott Trappe ha confermato che due erano sistemi Unix commerciali, che uno era "non Unix, ma di uso molto diffuso" e che le implementazioni embedded erano di "principali produttori di equipaggiamento di gestione della rete".  Trappe ha dichiarato che la Reasoning non può esplicitamente fare il nome delle ditte, ma che queste compagnie hanno accordato a Reasoning il diritto di usare i dati raccolti.

[...]

La compagnia ha cercato cinque tipi di difetti nel codice: infiltrazioni di memoria (memory leaks), "null pointer dereferences", disallocazioni errate, accessi oltre i limiti delle matrici e uso di variabili non inizializzate.  Secondo Trappe, nessuno degli errori trovati nella catasta TCP/IP di Linux provocavano problemi di sicurezza.  Almeno uno dei problemi, un'infiltrazione di memoria, era stata risolta nel kernel 2.4.20 prima che la Reasoning ne avesse informato gli sviluppatori del kernel.  Quattro dei problemi riscontrati (una variabile non inizializzata e alcuni errori di sconfinamento dei limiti) non erano dei veri difetti, perché non causavano disfunzioni del codice.  Così, di otto difetti documentati, quattro non erano reali, tree di gravità discutibile ed uno già sistemato [a monte].      

Quando si sono presi in considerazione i dati elaborati si è trovato per la catasta TCP/IP di Linux una densità di 0,013 difetti per mille righe di codice.  L'implementazione con meno difetti dopo Linux era una delle cataste "embedded", con 0,08 difetti per mille righe di codice.  Una delle implementazioni, in uno dei sistemi operativi commerciali, aveva 183 difetti su circa 269.100 linee di codice, 0,7 per mille.


Ultima revisione: 19 gennaio 2009

I diritti d'autore sono detenuti dall'Autore e/o dall'Editore dell'originale.
I diritti della traduzione in italiano sono del traduttore.
La traduzione italiana è coperta, ove compatibile con la licenza dell'originale,
dalla licenza Creative Commons versione 3.0 Attribuzione - Non commerciale -
Condivisibile alle stesse condizioni http://creativecommons.org/licenses/by-nc-sa/3.0/deed.it

< Torna al livello superiore <
<< Torna alla pagina iniziale <<