Software: Bugs finden mit Konsequenz der Evolution

Quellcode, Code, Programmierung, Programmiersprache
Software soll mit einem neuen Verfahren wesentlich gründlicher auf Fehler untersucht werden können. Die Entwickler haben dabei Anleihen an dem bekanntermaßen recht erfolgreichen Mechanismus der Evolution genommen.
In der professionellen Software-Entwicklung machen automatisierte Testverfahren einen wichtigen Bestandteil aus. Allerdings müssen sich hier kluge Köpfe bisher immer noch eine möglichst breite Palette an Fällen ausdenken, mit denen ein Programm gefüttert werden kann, um eventuell vorhandene Fehler zu finden. Immerhin gilt es im Grunde, möglichst jedes Szenario vorauszuahnen, dem ein beliebiger Anwender die Software aussetzen kann.

Informatiker aus Saarbrücken haben nun einen Ansatz gefunden, der dies automatisiert. Ihre Software "XMLMATE" nutzt genetische Algorithmen, um systematisch Testfälle zu erzeugen. Dies soll den Entwicklungsprozess klar entlasten. Denn laut einer aktuellen Studie der 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 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. Doch auch hier muss erst einmal ausreichend Vorarbeit geleistet worden sein. Zwar wurden auch bisher schon Testfälle automatisiert erzeugt, doch dieses Verfahren hat seine Mängel.

Auch XMLMATE generiert automatisch Testfälle und überprüft damit den jeweiligen Code. 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. Hier werden die Szenarien nach und nach ausgesiebt - ähnlich wie bei der biologischen Evolution. So "überleben" nur die Eingaben, die möglichst viel noch nicht ausgeführten Programmcode abdecken.

Die Informatiker haben ihre Software bereits auf Code losgelassen, der von frei verfügbaren Programmen stammt, die Anwender schon im Alltag nutzen. Sie fanden damit mehr als doppelt so viele schwere Programmierfehler wie gleichartige Testverfahren, die lediglich mit wahllos generierten Eingaben arbeiten. Quellcode, Code, Programmiersprache, Php, Source Code Quellcode, Code, Programmiersprache, Php, Source Code Free for Commercial Use / Flickr
Diese Nachricht empfehlen
Kommentieren18
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Kommentar abgeben Netiquette beachten!

Jetzt als Amazon Blitzangebot

Ab 00:00 Uhr F-Secure Internet Security - 1 Jahr / 1 Computer
F-Secure Internet Security - 1 Jahr / 1 Computer
Original Amazon-Preis
22,99
Im Preisvergleich ab
22,99
Blitzangebot-Preis
18,48
Ersparnis zu Amazon 20% oder 4,51

Video-Empfehlungen

WinFuture Mobil

WinFuture.mbo QR-Code Auch Unterwegs bestens informiert!
Nachrichten und Kommentare auf
dem Smartphone lesen.

Folgt uns auf Twitter

WinFuture bei Twitter

Interessante Artikel & Testberichte

Tipp einsenden