Overslaan en naar de inhoud gaan

Kwaliteit open source gaat gestaag vooruit

Het onderzoek van Coverity is in 2006 geïnitieerd door het Amerikaanse ministerie van binnenlandse veiligheid, dat toen een programma begon om het beveiligingsniveau en de kwaliteit van open-sourcesoftware te verbeteren. Coverity onderwerpt open-sourceprogrammacode die wordt aangeboden aan een statische analyse, waarbij de code automatisch wordt nagelezen op foute verwijzingen, verkeerde volgorde van de uitvoering van functies en bekende softwarefouten.
Business
Shutterstock
Shutterstock

Dat levert ook onterechte foutmeldingen op. Coverity’s scanners scoren gemiddeld minder dan 14 procent vals-positieven.

Bij de eerste scan in 2006 vond Coverity een gemiddeld foutdichtheid van 0,3. Dat komt overeen met één fout per 3333 regels code – commentaarregels en lege regels niet meegerekend. In de scan die dit jaar is uitgevoerd vond Coverity gemiddeld 1 fout per 4000 regels code, een foutdichtheid van 0,25. Dat betekent een afname van 16 procent. Om dat te bereiken zijn in de participerende open-sourceprojecten in 3,5 jaar tijd 11.246 fouten verholpen.

Een andere maat voor de verbeterde kwaliteit van open-souresoftware is het aantal projecten dat een hogere trede in Coverity’s kwaliteitsindeling heeft bereikt. Coverity onderscheidt op dit moment vier niveaus, van trede 0 tot trede 3. Dit jaar kwalificeerden 144 open-sourceprojecten zich voor trede 1; vorig jaar waren dat er 109. Het aantal projecten dat trede 2 heeft bereikt, steeg van 11 in 2008 naar 36 in 2009. En vier projecten hebben dit jaar aan alle vereisten van trede 2 voldaan. Dat waren het authenticatiemechanisme OpenPAM (uit het niets op niveau 3), de ontwikkeltaal Ruby, het netwerk- en printertoegangssysteem Samba en tor, het netwerk voor anonieme communicatie.

Ook het aantal projecten dat gebruikmaakt van de kwaliteitsscan van Coverity groeit nog. In totaal heeft Coverity dit jaar 280 projecten gescand, tegen 250 in 2008. Het aantal gescande projecten waarbij de ontwikkelaars actief betrokken zijn steeg van 150 in 2008 naar 180 dit jaar, ten teken van de toenemende interesse in open-sourcekringen voor het aantonen van de kwaliteit van de producten.

De aard van de fouten blijft in de loop der jaren redelijk stabiel. Van alle 38.453 fouten die Coverity sinds 2006 in open-sourcecode vond, was 27,81 procent een verkeerde pointer. In 2008 was dat 27,95 procent van toen 27.752 gevonden fouten. Werken met pointers, oftewel variabelen die als waarde een verwijzing naar een geheugenadres hebben, kan een krachtig hulpmiddel zijn, maar het gaat ook makkelijk fout, zeker bij code met de nodige vertakkingen. Op de tweede plaats staat het weg laten lekken van resources van het systeem, bijvoorbeeld door geheugenblokken te blijven reserveren die niet (meer) in gebruik zijn. In 2009 maakte deze fout 23,34 procent van alle fouten uit. Dat was 2,4 procentpunt minder dan vorig jaar.

Fouten die een buffer overflow mogelijk maken komen met 6 procent een stuk minder voor. Het is uit beveiligingsoogpunt wel de ernstigste fout, omdat dit het eenvoudigste mechanisme is voor hackers om eigen code in het systeem binnen te smokkelen. In dat licht is 6 procent wel hoog te noemen. Het goede nieuws is dat het percentage zonden op het terrein van het afbakenen van buffers vergeleken bij 2008 met 0,5 procent is afgenomen.

Gerelateerde artikelen
Gerelateerde artikelen

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

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