image

Open source code beter dan gesloten software

vrijdag 24 februari 2012, 12:16 door Redactie, 9 reacties

De kwaliteit van open source code is beter dan die van gesloten software, zo blijkt uit onderzoek. Analyse van Coverity wees uit dat een gemiddelde open source project met 832.000 regels code, .45 fouten per duizend regels code bevat. Bij gesloten software, waar het gemiddelde programma uit 7,5 miljoen regels code bestaat, werden .64 fouten per duizend regels code aangetroffen. Bij een open source project van een vergelijkbaar aantal regels code, blijkt open source met .62 fouten per duizend regels code net iets beter uit de bus te komen.

Kwaliteit
"De scheiding tussen open source en gesloten software zal in de loop van de tijd vervagen, als open source steeds verder in de moderne logistieke softwareketen wordt verwerkt", zegt Zack Samocha van Coverity.

Linux 2.6 (.62 fouten), PHP 5.3 (.20 fouten) en PostgreSQL 9.1 (.21 fouten) zijn volgens het bedrijf open source projecten met "superieure code" en zijn als benchmark voor andere programma's te gebruiken. In totaal analyseerde Coverity 37 miljoen regels open source code en 300 miljoen regels code van gesloten software.

Reacties (9)
24-02-2012, 12:39 door Anoniem
Wouw! Go Linux!!!
24-02-2012, 12:58 door Anoniem
Waarom hebben ze die fouten niet meteen verbeterd? Of blijft er dan niets meer te onderzoeken over?
24-02-2012, 14:19 door Anoniem
Bij gesloten software, waar het gemiddelde programma uit 7,5 miljoen regels code bestaat, werden .64 fouten per duizend regels code aangetroffen. Bij een open source project van een vergelijkbaar aantal regels code, blijkt open source met .62 fouten per duizend regels code net iets beter uit de bus te komen.

Dat is zo weinig dat het eerder toeval lijkt net de juiste of niet juiste software onderzocht te hebben.
24-02-2012, 16:20 door Anoniem
Ja zeker ben ik er mee eens dat open source code beter is dan gesloten software.
komt omdat in open source de hele wereld aan een programma mag sleutelen,en bij gesloten software alleen de programmeurs van het softwarebedrijf die een bepaald programma verkoopt.
24-02-2012, 16:43 door Anoniem
Hoe graag ik ook Linux promoot, durf ik bij 0.62 niet te zeggen dat het superieure code is, als het gemiddelde van Open Source van de omvang van Linux 0.62 is. Het is gewoon gemiddelde code.

Peter
24-02-2012, 18:36 door [Account Verwijderd]
[Verwijderd]
24-02-2012, 20:46 door Anoniem
PHP superieure code?

Ik denk dat dergelijke waardering omgekeerd evenredig is aan de kwaliteit van Coverity. Je hoeft maar 1 blik op de security geschiedenis van PHP te werpen om dat te weten.

Je moet PR mensen ook niet zulke onzin de wereld in laten sturen.
24-02-2012, 20:57 door Anoniem
Door Anoniem: Ja zeker ben ik er mee eens dat open source code beter is dan gesloten software.(...)
Hoe kan je het hier nou mee (on)eens zijn? Er is iets onderzocht en dit zijn de conclusies. Punt uit.
24-02-2012, 21:26 door Anoniem
Overgenomen uit tweakers:

Interessant hier is hoe een "fout" word gedefinieerd. Dat staat niet in het artikel, maar als je de bron erbij pakt, dan zie je dat hier gebruikt is gemaakt van zgn. "static analysis". Dit betekent dat er is gekeken naar de code, en vervolgens naar fouten hierin: waar de code ongeldige dingen probeert te doen, welke voor problemen kan zorgen bij het uitvoeren. Hier worden vooral slordigheden van de programmeur gedetecteerd, het gebeurd zelden dat static analysis een echt, fundamenteel probleem onthult.

Een ander nadeel van static analysis is dat niet dat elke gedetecteerde fout ook daadwerkelijk problemen oplevert: programmeurs zijn nog altijd slimmer dan computers, en schrijven soms code welke voor de computer te ingewikkeld is om correct te kunnen analyzeren. Hierdoor zitten er vaak nog zgn. "false positivies" tussen de resultaten van een onderzoek als deze. Andersom is het trouwens ook zo dat de computer nog niet alle fouten van de programmeur kan detecteren.

Hoewel dit wel iets zegt over de kwaliteit van de code, zegt het praktisch gezien helemaal niks over de kwaliteit van de afgeleverde software. Het zegt hoogstens iets over hoe vaak bepaalde soort bugs (meestal crashes) voorkomen. Wat voor de eindgebruiker echter vooral van belang is, is tot in hoeverre het programma doet wat het moet doen. Als bijvorobeeld de Linux kernel nooit crasht, maar ook je harde schijf niet detecteert, is het alsnog een nutteloos stuk software.

Je kan op basis van dit onderzoek dus ook niet concluderen dat opensource software beter is dan proprietaire software, of andersom. Het zegt hoogstens iets over hoe goed de programmeurs zijn in het fixen van hun eigen slordigheden, en hoeveel prioriteit daaraan gegeven wordt.

Bovendien, wat niet in het artikel staat, heeft Coverity de open source projecten van te voren al toegang gegeven tot het scan platform, waarmee het onderzoek is uitgevoerd. Hierdoor hebben zij al de tijd gehad om het type problemen dat deze scanner detecteert al te fixen. De proprietaire code is hier niet voor aangepast, en het is dus geen goed vergelijkend onderzoek.

Daarnaast is er van Open Source software 37 miljoen regels code gecontroleerd welke inderdaad bestonden uit een managed set van code (optimized voor de test) tegenover 300 miljoen regels closed source code (willekeurige code).

Statischisch gezien is het dus mogelijk dat er bij de closed source code een stuk code zat met zo een hoge dichtheid aan fouten volgens de meet methode, dat het gemiddelde van closed source beinvloed werd.

Uiteindelijk zegt deze test dan totaal niets en denk ik dat men in zowel closed source als open source afstand moet nemen van de resultaten omdat de resultaten te gekleurd zijn, de test manipuleerbaar is, de test set onvoldoende is.

Het is het zelfde als twee type's processoren testen of ze een bepaalde oc aankunnen, waarbij 1 fabrikant op voorhand mag cherrypicken terwijl de spullen van de andere fabrikant gewoon op de hoek gehaald wordt. Het resultaat staat vast in zo een geval, en dat geldt ook voor deze test.

Wat ik ook een beetje mis is of de projecten vergelijkbaar zijn in professionaliteit. De closed source projecten worden door anonieme mensen aangeleverd, dus is hoe betrouwbaar is het dat de aangeleverde code ook in dezelfde staat van ontwikkeling is, en is het uberhaupt legaal dat het is gebruikt.

Plus het platform van Coverity is closed source als ik de site zo zie, dus die zou dus ook 0.64 fouten moeten bevatten per 1K regels code.

Het ziet er meer uit als een koop ons testplatform dan een daadwerkelijke studie die te verifieren is.

En een closed source project schaft natuurlijk sneller zo'n pakket aan dan een open source project.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.