19.02.2009, 00:00 Uhr

Javalanche prüft die Güte von Testverfahren

Software muss vor dem Ausliefern getestet werden. Aber was taugt das Testverfahren? Die Uni Saarland bringt ein Programm, welches das herausfinden soll.
Mit dem Javalanche genannten System ist jetzt das Prüfen großer Java-Programme möglich. Es wurde von einem Forscherteam um Andreas Zeller, Professor für Softwaretechnik in Saarbrücken, entwickelt und soll auf der CeBIT 2009 am 3. März in Hannover erstmalig veröffentlicht werden. Seine Aufgabe ist es, Programme möglichst kunstvoll zum Absturz zu bringen - aber 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", so Professor Andreas Zeller, der Leiter des Projektes.

Das so genannte Mutationstesten wurde bereits vor 30 Jahren erfunden. Bisher war es 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", so Professor Zeller. Diese Effizienz erreichen die Saarbrücker Forscher, indem sie die Wirkung der eingestreuten Fehler messen. "Je größer die Wirkung einer Mutation, umso bedeutender ist sie für die Prüfung", so Valentin Dallmeier, Projektexperte für Programmanalyse. Viele eingestreute Mutationen zeigten jedoch kaum Wirkung und müssten bisher mühsam von Hand herausgesucht werden. Das Javalanche-Verfahren hingegen suche die Fehler vollautomatisch.

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", so Zeller. 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. [bl]





Das könnte Sie auch interessieren