Deutsch Intern
Institute of Computer Science

18.01.2010

Informatik-Kolloquium

Im Wintersemester 2009/2010 findet im Rahmen des Informatik-Kolloquiums der folgende Vortrag statt:

Montag, 18. Januar 2010, 17:00 Uhr, Turing-Hörsaal

Prof. Dr. Andreas Zeller (Universität des Saarlandes)

"Fehler streuen um Fehler zu finden - Neue Einblicke in das Mutationstesten"

Woher weiß man, ob ein Software-Test "gut genug" ist? Eine der besten Antworten liefert Mutationstesten: Man lässt ein Programm künstliche Fehler ("Mutationen") in die zu testende Software einstreuen und prüft dann, ob der Test sie findet.  Wenn nicht, ist der Test nicht gut genug.

Mutationstesten ist ein wirksames Mittel, um die Testgüte zu bestimmen, hat aber zwei Probleme. Zum einen benötigt es viel Rechenzeit, da der Test für jede Mutation wieder und wieder ausgeführt werden muss. Zum zweiten kann eine Mutation das Programmverhalten unverändert lassen – und somit von keinem Test gefunden werden. Solche äquivalenten Mutanten müssen von Hand geprüft und isoliert werden -- eine äußerst aufwändige Arbeit.

In diesem Vortrag stelle ich das JAVALANCHE Framework zum Mutationstesten von Java-Programmen vor, das beide Probleme, Effizienz und äquivalente Mutanten. löst. JAVALANCHE verfügt über eine Vielzahl von Optimierungen wie die direkte Manipulation von Bytecode, die zusammengenommen das Mutationstesten von Programmen mit 100.000 Zeilen Code ermöglichen – im Vergleich zum Stand der Technik, der Programme mit 100-1000 Zeilen umfasst. Das Problem der äquivalenten Mutanten lösen wir, indem wir den Impact einer Mutation auf die Ausführung bestimmen: Je mehr eine Mutation das interne Verhalten verändert, um so höher ihr Nutzen für das Verbessern der Testsuite.

Wir haben JAVALANCHE auf sieben großen Programmen geprüft und seine Wirkung bestätigen können.  Mit weniger als 3% äquivalenten Mutanten bietet unser Ansatz eine präzise und vollautomatische Messung der Testgüte -- und macht damit Mutationstesten erstmalig in der Praxis nutzbar.

Die Arbeit wurde gemeinsam mit David Schuler und Valentin Dallmeier durchgeführt.