Forscher tricksen Software-Tests aus
Archivmeldung vom 11.02.2010
Bitte beachten Sie, dass die Meldung den Stand der Dinge zum Zeitpunkt ihrer Veröffentlichung am 11.02.2010 wiedergibt. Eventuelle in der Zwischenzeit veränderte Sachverhalte bleiben daher unberücksichtigt.
Freigeschaltet durch Thorsten SchmittBevor große Computerprogramme in den Handel kommen, werden sie auf Herz und Nieren überprüft. Doch wer garantiert, dass die Softwaretests auch wirklich alle Fehler finden? Forscher der Universität des Saarlandes haben ein Prüfverfahren entwickelt, bei dem automatisch Fehler in ein Programm gestreut werden. Damit werden die üblichen Software-Tests der Hersteller ausgetrickst.
Finden diese dann die Veränderungen nicht, ist das ein Zeichen dafür, dass sie auch echte Fehler im Programm verpassen würden. Mit dem so genannten Javalanche-System, das frei im Internet zugänglich ist, kann jeder selbst große Java-Programme überprüfen. Das Forscherteam um Andreas Zeller, Professor für Softwaretechnik der Universität des Saarlandes, wird das System auf der Cebit 2010 in Hannover vom 2. bis 6. März am saarländischen Forschungsstand (Halle 9, Stand B 43) vorstellen.
Seine Aufgabe ist es, Programme möglichst kunstvoll zum Absturz zu bringen. Jedoch so, dass es keiner merkt: David Schuler, Doktorand an der Universität des Saarlandes, forscht an künstlichen Programm-Fehlern. "Unser Werkzeug erzeugt den ganzen Tag Fehler, wie auch Programmierer sie machen und prüft dann, ob sie vom Test gefunden werden", erläutert Schuler. Eigentlich sollte ein guter Programm-Test alle Fehler aufspüren. "Findet er aber die künstlichen Fehler nicht, wird er auch die echten, noch vorhandenen Fehler verpassen", sagt Professor Andreas Zeller, der Leiter des Projektes. Dann müsse der Test auf jeden Fall nachgebessert werden.
Den hohen Wirkungsgrad erreichen die Saarbrücker Forscher, indem sie messen, wie stark die Veränderung ist, die durch die eingestreuten Fehler ausgelöst wird. "Je größer die Veränderung, umso bedeutender ist sie für die Prüfung", erläutert Zeller. Viele eingestreute Fehler zeigten jedoch keine Wirkung und mussten bisher mühsam von Hand herausgesucht werden, weil sie von Softwaretests nicht gefunden werden konnten. Das Javalanche-Verfahren hingegen entdeckt die Veränderungen, auch Mutationen genannt, ganz automatisch. Bereits vor 30 Jahren wurden Mutationstests erfunden. Bisher waren sie aber auf äußerst kleine Programme von hundert Zeilen und weniger beschränkt. "Unser Javalanche-System prüft Programme, die tausendmal so groß sind wie die bisherigen, bis hin zu großen kommerziellen Java-Programmen", unterstreicht Professor Zeller.
In Zukunft wollen die Saarbrücker Forscher künstliche Fehler regelrecht züchten. "Wir wollen aus wirkungsvollen Mutationen neue Generationen ableiten, die die Wirkung weiter steigern", nennt Zeller das Ziel. Am Ende stehen "Super-Mutanten", die "alles im Programm durcheinander bringen, aber vom Test nicht gefunden werden und so automatisch die größten Schwachstellen beim Testen aufdecken."
Quelle: Universität des Saarlandes