idw – Informationsdienst Wissenschaft

Nachrichten, Termine, Experten

Grafik: idw-Logo
Grafik: idw-Logo

idw - Informationsdienst
Wissenschaft

Science Video Project
idw-Abo

idw-News App:

AppStore

Google Play Store



Instance:
Share on: 
03/05/2014 08:07

Von der Natur abgeschaut: Per Vererbungslehre automatisch Softwarefehler finden

Melanie Löw Pressestelle der Universität des Saarlandes
Universität des Saarlandes

    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“.

    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(at)cs.uni-sb.de

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

    Redaktion:
    Gordon Bolduan
    Wissenschaftskommunikation
    Kompetenzzentrum Informatik Saarland
    E-Mail: bolduan(at)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.


    Images

    Informatik-Professor Andreas Zeller von der Universität des Saarlandes hat eine Software entwickelt, die eine Vielzahl unterschiedlicher Programme automatisch testen kann.
    Informatik-Professor Andreas Zeller von der Universität des Saarlandes hat eine Software entwickelt, ...
    Foto: Oliver Dietze
    None


    Criteria of this press release:
    Journalists
    Information technology
    transregional, national
    Research projects, Research results
    German


     

    Help

    Search / advanced search of the idw archives
    Combination of search terms

    You can combine search terms with and, or and/or not, e.g. Philo not logy.

    Brackets

    You can use brackets to separate combinations from each other, e.g. (Philo not logy) or (Psycho and logy).

    Phrases

    Coherent groups of words will be located as complete phrases if you put them into quotation marks, e.g. “Federal Republic of Germany”.

    Selection criteria

    You can also use the advanced search without entering search terms. It will then follow the criteria you have selected (e.g. country or subject area).

    If you have not selected any criteria in a given category, the entire category will be searched (e.g. all subject areas or all countries).