Programmierfehler sofort identifizieren

© QAware GmbH

Jeder kennt das vom Rechner zu Hause oder bei der Arbeit: Man arbeitet mit einer Software - beispielweise einem Textverarbeitungs-, Videoschnitt- oder E-Mailprogramm - und merkt mit der Zeit, dass eine oder mehrere Funktionen des Programms nicht richtig funktionieren oder es bei bestimmten Befehlen sogar abstürzt. Solche Programmfehler werden oft "Bugs" genannt und können entstehen, selbst wenn den Programmierern nur kleine Fehler unterlaufen sind.

Kleiner Fehler, großer Verlust

Da Programmierer auch nur Menschen sind und die Software von Programmen immer komplexer wird, lassen sich solche Bugs nicht vermeiden. Schließlich bestehen moderne Programme aus mehreren Millionen Codezeilen, die nicht ein Programmierer, sondern ein ganzes Team schreibt. Jedes Teammitglied erstellt also "nur" einzelne Code-Stücke, die zur fertigen Software zusammengefügt werden - Bugs inbegriffen. Laut einer Untersuchung eines bekannten deutschen IT-Magazins führen die Folgen dieser Bugs allein in deutschen Mittelstands- und Großunternehmen zu Verlusten von fast 85 Milliarden Euro pro Jahr.

Test auf Herz und Nieren

Um die Anzahl der Bugs möglichst gering zu halten, gibt es selbstverständlich Kontrollmechanismen - von der Planung über die Programmierung bis zur Test- und Betriebsphase. Einen besonders innovativen und verlässlichen Kontrollmechanismus hat nun die Münchner QAware GmbH zusammen mit der Universität Erlangen-Nürnberg entwickelt: den Softwareleitstand. Dabei handelt es sich um ein Werkzeug, das die einzelnen Code-Stücke sofort auf Herz und Nieren prüft und Ungereimtheiten umgehend sichtbar macht.

Alarm beim kleinsten Fehler

In der Praxis funktioniert das so: Sobald ein Programmierer von QAware ein Code-Stück für eine neue Software geschrieben hat, wirft er es - bildlich gesprochen - in einen großen Topf. Darin befinden sich das grobe Modell der Software (die sogenannte Architektur) und alle bereits geschriebenen Code-Stücke. Der Softwareleitstand bringt das neue Code-Stück direkt zur Ausführung. Dabei kontrolliert er beispielsweise, wie gut das Code-Stück funktioniert, ob es zur Architektur passt und keine Doppelungen mit anderen Code-Stücken entstehen. Kurz gesagt: Der Softwareleitstand prüft, ob das neue Code-Stück seine Aufgabe möglichst fehlerfrei erfüllt.

Ist dies nicht der Fall, schlägt der Softwareleitstand sofort Alarm: Er informiert die Programmierer per Smartwatch, Smartphone oder Großbildschirm in der Kaffeeküche über den entdeckten Fehler. Der zuständige Programmierer kann nun direkt reagieren: Er nimmt seinen Code wieder aus dem bildlichen Topf, schreibt ihn um und behebt damit den Fehler. Anschließend lässt er das Stück erneut vom Softwareleitstand prüfen. Auf diese Weise können Bugs und andere Programmierungsfehler sozusagen im Keim erstickt werden.

Förderung mit weitreichenden Folgen

Durch den Softwareleitstand verkürzt sich die Entwicklungszeit von neuer Software, gleichzeitig steigt deren Qualität. Dadurch wiederum lassen sich die bisherigen Milliardenschäden der deutschen Wirtschaft, die Programmierungsfehler derzeit noch verursachen, erheblich reduzieren. Marktpotenzial und Nutzen der vorgesehenen Entwicklung haben das Bundesministerium für Wirtschaft und Energie überzeugt: Im Rahmen des Zentralen Innovationsprogramms Mittelstand hat es QAware und die Uni Erlangen-Nürnberg bei der Entwicklung des Softwareleitstands mit fast 295.000 Euro unterstützt. Der Softwareleitstand wird von QAware seit 2011 genutzt.

Faktenübersicht:
Produkt: Softwareleitstand für höhere Transparenz und Steuerbarkeit bei Softwareentwicklungsprojekten
Unternehmen: QAware GmbH, München; Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Department Informatik, Erlangen
Markteinführung: 2011
Förderung: ZIM-Kooperationsprojekte
Fördersumme: 294.935 Euro
Förderzeitraum: November 2009 bis April 2012