Evolutionärer Test von Realzeitsystemen

Informatik Forschung und Entwicklung - Tập 15 - Trang 151-160 - 2000
Joachim Wegener1, Matthias Grochtmann1
1DaimlerChrysler AG, Forschung und Technologie, Alt-Moabit 96a, D-10559 Berlin (e-mail: {Joachim.Wegener,Matthias.Grochtmann}@daimlerchrysler.com) , , DE

Tóm tắt

Die Entwicklung von Realzeitsystemen ist eine wesentliche Aufgabe im industriellen Umfeld. Der dynamische Test ist die wichtigste analytische Qualitätssicherungsmethode für Realzeitsysteme. Der dynamische Test ist das einzige Verfahren, mit dem das Laufzeitverhalten der Systeme in der tatsächlichen Einsatzumgebung überprüft werden kann. Bestehende Testmethoden konzentrieren sich weitgehend auf den Test des funktionalen Verhaltens von Systemen. Sie bieten keine besondere Unterstützung für den Test des zeitlichen Verhaltens. Für die Korrektheit von Realzeitsystemen sind jedoch beide Aspekte gleichermaßen wichtig. Folglich müssen die bestehenden Methoden um neue Ansätze ergänzt werden, die auf die Prüfung des zeitlichen Verhaltens spezialisiert sind. Ein Fehler im Zeitverhalten von Realzeit-Systemen liegt dann vor, wenn es zulässige Eingabesituationen gibt, für die das System nicht in der Lage ist, die spezifizierten zeitlichen Anforderungen zu erfüllen. In den meisten Fällen ist dies darauf zurückzuführen, daßdas System eine Ausgabe zu früh macht oder daßdie Berechnung einer Ausgabe zu lange dauert und diese daher zu spät erfolgt. Aufgabe des Testers ist es folglich, die Eingabesituationen mit den längsten und kürzesten Ausführungszeiten zu finden, um zu überprüfen, ob die für das System spezifizierten Zeitschranken verletzt werden. Wird die Suche nach entsprechenden Eingabesituationen als Optimierungsproblem interpretiert, dann können evolutionäre Algorithmen verwendet werden, um die Eingaben mit den längsten und kürzesten Ausführungszeiten automatisch zu suchen. Die zu optimierende Zielfunktion entspricht hierbei den gemessenen Ausführungszeiten, die generierten Individuen repräsentieren Testdaten. Die Verwendung evolutionärer Algorithmen für den Test nennen wir evolutionären Test. Zum Vergleich des evolutionären Tests mit anderen Testmethoden wurden in dieser Arbeit mehrere Experimente durchgeführt. In allen Experimenten erreicht der evolutionäre Test längere bzw. kürzere Ausführungszeiten als durch Zufallstests oder systematische Tests gefunden werden. Der evolutionäre Test erscheint daher als gut geeignet für die Prüfung der zeitlichen Korrektheit von Realzeitsystemen. Die Kombination des evolutionären Tests mit systematischen Tests kann die Testqualität weiter verbessern und wird in diesem Papier als Teststrategie für Realzeitsysteme empfohlen.