Overslaan en naar de inhoud gaan

Fouten in open source worden rap verholpen

Het Open Source Hardening Project van het Amerikaanse Homeland Security-departement heeft er na twee jaar bughunting toe geleid dat in elf open-sourceprojecten alle hoofdfouten zijn verholpen. Coverity, leverancier van de testtool hiervoor, heeft een nieuwe versie uitgebracht die de open-sourcesoftware scant op minder voor de hand liggende fouten.
Coverity wordt gebruikt voor het Open Source Hardening Project, dat het Amerikaanse Homeland Security-departement in 2006 is gestart.
Maatschappij
Shutterstock
Shutterstock

Doel van dit driejarige project is de kwaliteit van open-sourcesoftware te verbeteren, zodat deze zo veilig mogelijk is. Daartoe kregen de universiteit van Stanford, Coverity en Symantec gezamenlijk 1,24 miljoen dollar, waarvan ruim 800.000 dollar bestemd is voor de universiteit.
Aanleiding voor de start van het project was dat open-sourcesoftware veel gebruikt wordt in kritieke delen van de ICT-infrastructuur van de VS en een automatische controle van de kwaliteit van die code niet mogelijk was. Daartoe werd bestaande software van Coverity, waarmee bugs gezocht werden in Linux, fors uitgebreid. Ontwikkelaars van open-sourcesoftware zijn over het algemeen niet zo draagkrachtig en konden zelf zelden een tool betalen die de sourcecode analyseert. Dat gebeurde met de hand, met behulp van vrijwilligers. Ontwikkelaars van commerciële software laten hun code wél al sinds jaar en dag met zulke tools analyseren op fouten.
Aanvankelijk werden in het project 50 open-sourceapplicaties gescand. Dat aantal is inmiddels opgelopen tot 265 projecten, waarvan 50 miljoen regels code zijn gescand. Dat heeft ertoe geleid dat ruim 7800 fouten zijn hersteld.
Van elf projecten hebben programmeurs alle hoofdfouten verholpen die met Coverity zijn gevonden. Daarmee hebben zij niveau Rung 1 doorlopen van het project. De elf projecten, Amanda, NTP, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix, Python, Samba en TCL, zijn nu bevorderd tot het niveau Rung 2. Coverity heeft daarvoor de nieuwe versie van zijn tool Scan Rung 2 uitgebracht. Hiermee kunnen nog veel meer fouten gevonden worden.
86 projecten zitten nog op niveau Rung 1, wat inhoudt dat ze al wel gescand zijn op fouten maar dat die fouten nog niet allemaal verholpen zijn. 173 projecten bevinden zich nog op niveau Rung 0. Dat betekent dat ze wel aangemeld zijn voor scans, maar dat de betrokken ontwikkelaars zich nog niet gemeld hebben voor deelname aan het verbeterprogramma. Hun foutenpercentages zijn nog niet bekendgemaakt.
De scans hebben tevens aangetoond dat open-sourcesoftware even veel fouten in de code bevat als commerciële applicaties: één fout per 1000 regels code. Enkele open-sourceprojecten komen er echter heel goed uit. Zo bevat de Linux-kernel 2.6 slechts 0,127 fouten per 1000 regels code en heeft de Apache Web-server er 0,14 per 1000 coderegels.
Een precieze vergelijking met commerciële software is niet mogelijk, omdat de leveranciers daarvan de foutenpercentages niet vrijgeven.
De EU heeft een eigen, enigszins vergelijkbaar project gestart eind 2006: het Software Quality Observatory for Open Source Software, dat geleid wordt door de Universiteit van Athene. Dit project is erop gericht tools te verkrijgen waarmee de kwaliteit van open-sourcecode eenvoudig gemeten kan worden. Wat hiervan de resultaten zijn tot nu toe, is niet bekend.
/t.vrede@sdu.nl

Lees dit PRO artikel gratis

Maak een gratis account aan en geniet van alle voordelen:

  • Toegang tot 3 PRO artikelen per maand
  • Inclusief CTO interviews, podcasts, digitale specials en whitepapers
  • Blijf up-to-date over de laatste ontwikkelingen in en rond tech

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in