Praktische Informatik in der Wirtschaft (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 Gleichungsysteme, 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:
|