Sinds de invoering van programmeerbare hardwareplatformen voor de realisatie van embedded systemen, neemt het belang van embedded software zeer sterk toe: de manier waarop embedded software wordt ontworpen en geïmplementeerd heeft een heel grote impact op de kwaliteit van het resulterende product.
Eenvoudige toegang tot de hardware, lage geheugenvereisten en efficiënte run-time performantie, maken dat C nog steeds de “de facto” programmeertaal is in de embedded software industrie.
Maar er zijn ook een aantal gekende nadelen: de beperkte run-time checking, een syntax die “domme” programmeerfouten doorlaat en meer dan 200 passages in de ISO C standaard waarin het gedrag niet eenduidig gedefinieerd is.
Om aan deze nadelen tegemoet te komen, ontwikkelde men broncoderichtlijnen (o.a. MISRA-C). Broncode die (liefst zoveel mogelijk) conform is met deze standaarden worden door de embedded software industrie als zeer kwaliteitsvol aanzien (m.b.t. veiligheid, robuustheid en platformonafhankelijkheid).
Om de naleving van deze richtlijnen na te gaan wordt gebruik gemaakt van statische code analyse werktuigen. Jammer genoeg kunnen niet alle regels automatisch afgedwongen worden en is een manuele aanpassing van de code meestal noodzakelijk. Dit heeft natuurlijk zijn impact het totale ontwerpproces.
Vergelijkende test van statische code analyse tools. Exploratie van software ontwerpmethoden voor kritische ingebedde software.
Static code analyse tools
Meer info op www.teralabs.org
Projectpartners: LMS International, EIA Electronics, Verhaert New Products & Services, Fifthplay, Ferranti Computer Systems, Televic, Altreonic, DSP Valley, Alcatel-Lucent Bell, E.D.&A., Atos Worldline, IMEC, FMTC, Philips Brugge, KHBO
KdG-medewerkers: Marijn Temmerman, Kris Bellemans, Hugo Van Hove