[ Back to EurekAlert! ]

Public release date: 5-Mar-2014

[ | E-mail ] Share Share

Contact: Matthias Hoeschele
hoeschele@cs.uni-saarland.de
49-681-302-70987
Saarland University

Von der Natur abgeschaut: Per Vererbungslehre automatisch Softwarefehler finden

Diese Pressemitteilung ist verfügbar auf Englisch.

Wenn Entwickler programmieren, bleiben Fehler nicht aus. Automatisches Testen kann Abhilfe schaffen. Es setzt jedoch voraus, dass sich kluge Köpfe Testfälle ausdenken, die möglichst viele der Fehler abfangen können. Saarbrücker Informatiker haben nun einen Ansatz gefunden, der dies automatisiert. Ihre Software „XMLMATE" nutzt genetische Algorithmen, um systematisch Testfälle für Computerprogramme zu erzeugen. Während der Computermesse Cebit in Hannover demonstrieren die Forscher XMLMATE erstmals öffentlich (Forschungsstand der Universität des Saarlandes, Halle 9, Stand E13).

Laut einer aktuellen Studie der englischen Elite-Universität Cambridge verbringen Software-Entwickler gut die Hälfte ihrer Programmier-Zeit damit, Fehler zu finden und zu reparieren. Hochgerechnet auf die globale Software-Industrie, so die Studie, verursacht das jährlich Kosten von 312 Milliarden US-Dollar. „Natürlich ist automatisches Testen preiswerter", erklärt Andreas Zeller, Professor für Softwaretechnik an der Universität des Saarlandes. Schließlich könne man ein Programm tausend Mal durchlaufen lassen, ohne dabei großartig Kosten zu verursachen. „Aber woher bekommen sie die dafür notwendigen Testfälle?", fragt Zeller. „Automatisch generieren ist hart, selber ausdenken noch härter."

Zusammen mit den Informatikern Nikolas Havrikov und Matthias Höschele hat er nun das Softwaresystem „XMLMATE" entwickelt. Es generiert automatisch Testfälle und überprüft damit den jeweiligen Programmcode. Der Clou: Die einzige Anforderung an das zu testende Programm besteht darin, dass seine Eingaben in irgendeiner Form strukturiert sind. Denn aus diesen generieren die Forscher eine Anfangsmenge von Testfällen. Mit diesen füttern sie einen sogenannten genetischen Algorithmus, auf dem das Testen basiert. Dieser funktioniert ähnlich wie die biologische Evolution, die Eingaben sind die Chromosome. Allerdings lässt er nur die Eingaben überleben, die möglichst viel noch nicht ausgeführten Programmcode abdecken. „Es ist gar nicht so leicht, einen echten Fehler zu finden und je mehr Code wir dabei abdecken, desto sicherer können wir sein, dass es keine weiteren Fehler gibt", erklärt Nikolas Havrikov diese Strategie. Havrikov hat XMLMATE implementiert. „Und da wir die real existierende Eingabeschnittstelle nutzen, stellen wir auch sicher, dass es keine Fehlalarme gibt: Jeder gefundene Fehler kann so auch während des Programmeinsatzes auftreten", ergänzt Zeller.

Die Forscher haben ihre Software auf Code losgelassen, der von frei verfügbaren Programmen stammt, die Anwender bereits im Alltag nutzen. Sie fanden damit mehr als doppelt so viele schwere Programmierfehler wie gleichartige Testverfahren, die lediglich mit wahllos generierten Eingaben arbeiten.

„Das Beste ist jedoch, dass wir völlig unabhängig vom Anwendungsbereich sind. Wir können mit unserem Programm nicht nur Computernetzwerke, das Verarbeiten von Dateien, Websites oder Betriebssysteme testen, selbst die Software von Sensoren in Autos könnte damit untersucht werden", so Zeller.

Die Saarbrücker Informatiker haben XMLMATE in der Programmiersprache Java entwickelt. Die Eingaben für ihre Software sind gemäß der Beschreibungssprache XML definiert, daher ist die Existenz eines sogenannten XML Schemas hilfreich. Da XML standardisiert ist und somit als eine Art Weltsprache zwischen Eingabeformaten gilt, sind bereits die meisten Programmeingaben XMLMATE-tauglich oder können schnell mit entsprechenden Werkzeugen dorthin überführt werden.

###

Informationen zur Saarbrücker Informatik

Den Kern der Saarbrücker Informatik bildet die Fachrichtung Informatik. In unmittelbarer Nähe forschen auf dem Campus sieben weitere weltweit renommierte Forschungsinstitute. Neben den beiden Max-Planck-Instituten für Informatik und Softwaresysteme sind dies das Deutsche Forschungszentrum für Künstliche Intelligenz (DFKI), das Zentrum für Bioinformatik, das Intel Visual Computing Institute, das Center for IT-Security, Privacy und Accountability (CISPA) und der Exzellenzcluster „Multimodal Computing and Interaction".

Pressefoto unter http://www.uni-saarland.de/pressefotos

Weitere Informationen: http://www.st.cs.uni-saarland.de/testing/xmlmate/

Weitere Fragen beantworten:

Matthias Höschele
Lehrstuhl für Softwaretechnik
Universität des Saarlandes
Telefon: 0681 302 70987
E-Mail: hoeschele@cs.uni-sb.de

Professor Andreas Zeller
Lehrstuhl für Softwaretechnik
Universität des Saarlandes
Telefon: 0681 302 70971
E-Mail: zeller@cs.uni-saarland.de

Redaktion:

Gordon Bolduan
Wissenschaftskommunikation
Kompetenzzentrum Informatik Saarland
E-Mail: bolduan@mmci.uni-saarland.de
Tel.: 0681 302 70741

Hinweis für Hörfunk-Journalisten: Sie können Telefoninterviews in Studioqualität mit Wissenschaftlern der Universität des Saarlandes führen, über Rundfunk-Codec (IP-Verbindung mit Direktanwahl oder über ARD-Sternpunkt 106813020001). Interviewwünsche bitte an die Pressestelle (0681/302-2601) richten.



[ Back to EurekAlert! ] [ | E-mail Share Share ]

 


AAAS and EurekAlert! are not responsible for the accuracy of news releases posted to EurekAlert! by contributing institutions or for the use of any information through the EurekAlert! system.