Rieder, B. (2009). Measurement-based timing analysis of applications written in ANSI-C [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-17000
Mit zunehmendem Einsatz von sicherheitskritischen Echtzeit-Applikationen im Automobil steigen auch der Bedarf an Programmierwerkzeugen die zur Verikation dieser Applikationen eingesetzt werden können. Ein wichtiger Aspekt bei der Analyse von Echtzeitsystemenist das Zeitverhalten der Applikationen. Vor allem die maximale Ausführungszeit (WCET) ist ein Parameter, der zum sicheren Design von Echtzeitsystemen unbedingt erforderlich ist. Diese Arbeit beschreibt eine messbasierte Analysemethode mit der die Ausführungszeit von ANSI-C konformen Applikationen, welche auch Schleifen und Funktionsaufrufe beinhalten können, ermittelt werden kann. Die vorgestellte Analysemethode besteht aus folgenden Einzelschritten: Statische Analyse des ANSI-C Quellcodes, um dessen Struktur zu ermitteln. In diesem Schritt werden auch Funktionsaufrufe und Schleifen erkannt, sowie deren maximale Iterationszahl mittels Modellprüfung bestimmt und Kontrollflusspfade in logischen UND- und ODER-Ausdrücken ermittelt. Die Partitionierung des Kontrollflussgraph (CFG) teilt den CFG automatisch in kleinere Programmsegmente (PS) auf, die mit vertretbarem Aufwand analysiert werden können. Die Testdatengenerierung dient dazu, Testdaten für alle möglichen Ausführungspfade in einem PS zu generieren. Modellprüfung wird benutzt, um Testdaten für Pfade zu finden, die durch die erzeugten Zufallsdaten nicht abgedeckt werden konnten und um Pfade die aufgrund der Codesemantik unausführbar sind als unausführbar zu identizieen. Laufzeitmessungen dienen zur Ermittlung der Ausführungszeit aller tatsächlich ausführbaren Pfade eines Programmsegments. Die Laufzeitmessungen erzeugen ein Ausführungszeitprol jedes Programmsegmentes, das unter anderem auch die WCET des PS beinhaltet. Die Berechnung eines Wertes für diemaximalen Ausführungszeit (WCET) durch Kombination der einzelnen Laufzeitprole unter Berücksichtigung der Strukturinformation aus der statischen Analyse.