Skriv ut

Matlab och Simulink är vad Mathworks är mest känt för, men i portföljen finns också verktyget Polyspace som hittar defekter i källkod.

Polyspace är närmare bestämt två verktyg. Bugfinder motsvarar stavningskontrollen i en ordbe­handlare. Den ser exempelvis att standarder som Misra C följs, och varnar för sammanbland­ning av ”==” och ”=”.

Code Prover söker dynamiska fel – division med noll, pekarfel, numerisk övertrassering.

– Många tycker statisk ko­danalys är dyrt, men det är inget jämfört med kostnaden för att återkalla en bil, säger Stefan Da­vid på Mathworks, som köpte franska Polyspace år 2007.

Utvecklaren slipper trå­kig kodgranskning och kan fokusera på exem­pelvis funktionella fel el­ler algoritmutveckling.

Kodens fotavtryck och prestanda kan förbättras i och med att en godkäntstämpel från Polyspace kan betyda att dynamis­ka tester kan tas bort.

– Om man kan visa att det inte är möjligt att nå en viss dörr, så kan man spara pengar, kod och körtid på låset som inte behövs, säger Stefan Davids kollega Tapio Kramer.

Data kan dimensioneras ner från 32 till 16 bitar om Polyspace säger att det räcker. Cyberrisker, som buffertöverflöden, dåliga slumptal eller riskabel minnes­ access, kan också pekas ut.

Istället för att kasta gammal osystematisk kod, kan Polyspace få ta en titt och peka ut problem.

Fordon är en stor kund, liksom flyg, rymd och militär. Kod för självkörande bilar är en växande marknad, liksom medicin.

Det solcellsdriva flygplanet Solarimpulse beräknas ha sparat ett manår av utvecklingstid på att an­vända Polyspace, i ett team på 20 personer.

Tapio Kramer säger sig till och med ha fått åter­kopplingen att en utvär­dering gav alltför positivt resultat.

–Han ville inte gå till chefen med siffrorna, för då skulle chefen fråga varför han inte skaffat verktyget tidigare.