Waarom we niet van softwarebugs verlost raken

Ondanks alle inspanningen blijven de programma's die we dagelijks gebruiken vol met bugs zitten. Hoe komt dat?

Er gaat voor IT-afdelingen geen maand voorbij of ze moeten tientallen patches voor hun software installeren. Ondanks alle inspanningen blijven de programma’s die we dagelijks gebruiken vol met bugs zitten. 

Deze bugs gelden zowel voor de standaardsoftware van softwarebedrijven à la Microsoft of Oracle. Maar ook voor de software die je zelf laat ontwikkelen. Hoe komt dat? Software wordt alsmaar complexer. Hoe goed je je best ook doet, er zal altijd een bepaald aantal fouten per regels code overblijven.

[related_article id=”161920″]

Fouten

Eén fout per 50 regels code is een goede prestatie. De meeste programmeurs maken eerder één fout per 5 tot 15 regels code. Als je dan weet dat Windows 7 zo ongeveer uit 40 miljoen regels code bestaat (Windows Vista zelfs 50 miljoen), ligt het risico nog hoger. Ter info: de door de vele fouten fel gecontesteerde Health.gov-website bevat naar verluidt 400 miljoen regels.

Heel wat beveiligingsexperts oordelen dat software nooit veiliger wordt als we de leveranciers niet kunnen aanklagen voor fouten in hun programma’s. Maar momenteel moeten leveranciers geen verantwoording afleggen. Zolang ook hackers ermee wegkomen dat ze fouten uitbuiten, zullen we erdoor geplaagd blijven. Uiteindelijk is de bug op zich niet het probleem, wel het uitbuiten ervan.

Fuzzers

Veel ontwikkelaars gebruiken zogenaamde fuzzers om te testen hoe robuust hun code is: zo’n fuzzer voegt willekeurige invoer aan het programma in en kijkt of het crasht. Maar een fuzzer is ook door mensen geschreven en doet enkel wat je hem opdraagt. Als men er niet aan denkt om alle invoervelden in een programma te fuzzen, glippen er heel wat fouten door de mazen van het net.

Bugs komen altijd voort uit vergissingen gemaakt door een menselijke programmeur. Zo komen typefouten verrassend veel voor. Spelt u de naam van een variabele of functie fout, dan kan dat grote gevolgen hebben. Vaak is het ook gewoon nonchalance. Een geheime account en wachtwoord dat een ontwikkelaar in de code plaatst is handig voor jou, maar ook voor iedereen die toegang tot de broncode heeft, bevoegd of niet.

Het spreekt voor zich dat bugs nog steeds een belangrijke rol spelen in de IT-wereld, en met de toenemende complexiteit van zowat elk softwarepakket ziet het er naar uit dat het aantal niet zal afnemen. Een bugvrije softwarewereld blijft voorlopig nog een utopie, althans tot we robots kunnen maken die de bugs automatisch in onze plaats kunnen traceren. En dat laatste zien we de komende 10 jaar alvast niet gebeuren.

Hoeveel regels code?

Om je een idee te geven van het programmeerwerk dat bij de ontwikkeling van software te pas komt, hebben we onderstaand lijstje voor je opgesteld.

  • Windows 3.1: 2,5 miljoen regels
  • Photoshop CS 6: 4,5 miljoen regels
  • Firefox: 9,5 miljoen regels
  • Android: 12 miljoen regels
  • Windows 7: 40 miljoen regels
  • Windows Vista: 50 miljoen regels
  • Facebook: 61 miljoen regels
  • Mac OS X Tiger: 85 miljoen regels
  • Healthcare.gov: 400 miljoen regels
achtergrondbeveiligingbughackprogrammerensoftware

Gerelateerde artikelen

Volg ons

Gebruik je ecocheques bij Coolblue

Gebruik je ecocheques bij Coolblue

Producten bekijken