Prof. Dr. Herbert Kuchen
Entwicklung eines Werkzeugs zum Testen von Software
Es wird ein Werkzeug entwickelt, das das automatische Generieren von Testfällen für das
Glass-Box-Testen ermöglicht. Hierbei wird zunächst ein Überdeckungskriterium wie z. B.
def-use-Ketten-Überdeckung vorgegeben. Hierauf basierend wird der Byte-Code der zu testenden
Java-Klassen dann auf einer symbolisch arbeitenden Java Virtual Machine durchlaufen. An für den
Kontrollfluss relevanten Stellen werden Restriktionen an einen maßgeschneiderten Constraint-Solver
weitergegeben, der dann ermittelt, ob der gegenwärtige Satz von Restriktionen noch eine Lösung
zulässt oder bereits inkonsistent ist. Im letzteren Fall kann die JVM eine Berechnungsalternative
ausschließen. Um die hierfür notwendige Backtrack-Fähigkeit bieten zu können, wurden in
die symbolische JVM einige Konzepte aus der sogenannten Warren Abstract Machine übernommen, die aus
vielen Implementierungen der logischen Programmiersprache Prolog bekannt ist. Der maßgeschneiderte
Constraint-Solver enthält einen Löser für nichtlineare Gleichungssysteme, der intern auf
Gröbner-Basen und dem Buchberger-Algorithmus sowie klassischen numerischen Verfahren zur Bestimmung
von Nullstellen von Polynomen basiert.
Beteiligte Wissenschaftler:
Veröffentlichungen:
|