Sie sind hier
Robuster C Code durch Spracherweiterung und Model Checking
Robustheit ist eine wichtige Eigenschaft eingebetteter Software. In diesem Vortrag zeige ich, wie man diesem Ziel durch Spracherweiterung von C näher kommen kann. Dabei gehe ich auf drei Aspekte ein. Erstens kann die Fehlerrate durch Verwendung angemessener, domänenspezifischer Abstraktionen reduziert werden, da der detailreiche Implementierungscode automatisch generiert werden kann. Zweitens kann C so erweitert werden, dass das Testen erleichtert wird. Dazu gehört Unterstützung für Mockobjekte, aber auch Pre- und Postconditions auf Interfacemethoden. Drittens lassen sich formale Verifikationstechniken einsetzen, wenn Programme die richrigen Abstraktionen verwenden. Ich zeige dies am Beispiel von Model Checking auf Zustandsmaschinen.
Der Vortrag besteht zum großen Teil aus Demos, basierend auf dem mbeddr.com Projektes. Dort entwickeln wir ein erweiterbares C zur effizienten Entwicklung eingebetteter Systeme. Der Code ist Open Source, genauso wie das Werkzeug, auf dem das alles aufsetzt: JetBrains MPS