Vector Fabrics, Nederlands specialist op het gebied van het verifiëren van complexe software, introduceert Pareon Verify, een tool om kritieke softwarefouten in een vroeg stadium te detecteren. De tool vindt fouten die normaal gesproken vele weken tijd kunnen kosten om te reproduceren en te verhelpen.
De hoeveelheid software in embedded systemen groeit exponentieel. Tientallen miljoenen regels code zijn geen uitzondering meer. Bugs in deze software hebben zeer kostbare gevolgen, van uitstel van een productintroductie tot terugroepacties van producten. Dit kan bedrijven aanzienlijke reputatieschade opleveren. Fouten in de software van auto’s, vliegtuigen en medische apparatuur kunnen zelfs fatale gevolgen hebben.
Pareon Verify van Vector Fabrics analyseert volgens de ontwikkelaar hoe de software zich gedraagt wanneer deze daadwerkelijk wordt uitgevoerd. Deze dynamische analyse – ook wel bekend als runtime analyse – kijkt naar het gedrag van de software. Door de code uit te voeren krijgt de gebruiker zicht op de data en de stuurmechanismen binnen de software. Bijkomend voordeel is dat er ook geen false positives optreden: meldingen van mogelijke bugs die uiteindelijk vals alarm blijken te zijn.
Pareon Verify vindt bugs in code die al met allerlei tests en tools voor statische analyse gecontroleerd is. Het gaat om bugs die met de huidige middelen erg moeilijk te vinden zijn. Een belangrijk type softwarefouten zijn de zogenaamde ‘Heisenbugs’, genoemd naar het onzekerheidsprincipe van de Duitse natuurkundige Heisenberg, omdat deze soms wel, soms niet optreden. Bijvoorbeeld een bug die met een timingprobleem te maken heeft. Wanneer de programmeur deze bug probeert op te sporen in een debugger verandert de timing en lijkt de bug te verdwijnen. Door het ongrijpbare karakter kan het erg veel tijd kosten voor zo’n bug gereproduceerd kan worden. Vervolgens kan het nog veel langer duren om de uiteindelijke oorzaak te vinden.