"Zuverlässige Software wird es nie geben"  [06.03.07]

Antworten aus der Forschung: Prof. Dr. Uwe Jensen, Mathematiker der Universität Hohenheim, über Zuverlässigkeitsprognosen für Softwareentwicklung

Softwarefehler vernichten unsere Urlaubsfotos, lassen Hacker in unsere Rechner und könnten sogar die Steuerung von Zügen ausfallen lassen. Wo liegt das Problem bei der Softwarezuverlässigkeit?

PROF. DR. JENSEN: Software ist inzwischen so komplex geworden, dass es nicht mehr möglich ist, alle Einflüsse auf die Softwarezuverlässigkeit zu kontrollieren. Mit genügend großem Zeit- und Geldaufwand lässt sich Software zwar bis zu einem vorgegebenen Grad an Sicherheit testen, allerdings stößt dieser Aufwand schnell an wirtschaftlich vertretbare Grenzen. Hinzu kommt, dass die heutige Softwareentwicklung zu einem dynamischen Prozess geworden ist, bei dem viele Einzelkomponenten parallel entwickelt werden.

Welchen Beitrag können Sie als Statistiker leisten?

PROF. DR. JENSEN: Unser Ziel ist es, schon sehr früh in der Entwicklungsphase eine Aussage über die Stabilität der späteren Software treffen zu können. Dieser Aspekt ist vor allem für Qualitätsmanager interessant, die den Ursachen möglicher Mängel an Softwarezuverlässigkeit in ihrem Unternehmen auf den Grund gehen möchten. Erste Versuche, dies mit Methoden der Statistik zu tun, gab es zwar schon in den 70er Jahren. Doch damals gab es noch abgeschlossene Testphasen, die man anschließend auswerten konnte, um die Zuverlässigkeit zu bewerten. Heute ist die Entwicklung von Software nach der Auslieferung an den Kunden noch nicht beendet und somit endet an diesem Punkt auch nicht die Bewertung ihrer Zuverlässigkeit.

Ihr neuer Ansatz greift auf Modelle zurück, die für die Medizin entwickelt wurden, um Lebenserwartungen von Patienten zu berechnen. Müssen wir Software als ein lebendiges Wesen verstehen?

PROF. DR. JENSEN: Wir stützen uns auf Modelle aus der Survival Analysis, auch Lebensdaueranalyse genannt. Ärzte berechnen die Lebenserwartung eines Krebspatienten, indem sie statistische Daten wie Alter, Geschlecht, Krankheitsstadium, Allgemeinzustand auswerten. Wir haben das auf Software übertragen, indem wir Lebensdauer als die Zeit bis zum nächsten Ausfall oder Bug definierten. Bei Software hängt die Zuverlässigkeit zum Beispiel davon ab, wie viele Programmierer am Projekt beteiligt waren, welche Programmiersprache sie verwendeten, wie viel Entwicklungszeit ihnen zugestanden wurde oder wie oft das Programm überarbeitet wurde. Das Neue an unserer Methode ist, dass wir erstmals bewerten können, wie groß der Einfluss dieser verschiedenen Faktoren auf die Softwarezuverlässigkeit ist.

Können wir dann auf die 100-prozentig zuverlässige Software hoffen?

PROF. DR. JENSEN: Man kann sicherlich nicht hoffen, Softwarefehler irgendwann vollständig zu vermeiden. Wie in vielen anderen Bereichen auch lassen sich Risiken nicht gänzlich ausschließen. Doch statistische Modelle können uns helfen, solche Risiken realistisch einzuschätzen, um uns entsprechend darauf vorzubereiten.

Hintergrund

Für die Entwicklung eines standardisierten Verfahrens, um die Zuverlässigkeit von Software zu überprüfen, stützten sich Prof. Dr. Uwe Jensen, Dr. Axel Gandy und Dipl. Math. oec. Vanessa Grosch vom Institut für Angewandte Mathematik und Statistik der Universität Hohenheim im Rahmen eines Forschungsprojekts der Deutschen Forschungsgesellschaft (DFG) auf Bug-Reports der Open-Source Entwicklung GNOME, einer Desktop-Umgebung für Unix- und unixbasierte Systeme. Dabei nutzten die Statistiker zwei Vorteile der Open-Source-Entwicklung: Erstens ist der Source-Code dieser Projekte, die dezentralisiert von Softwareentwicklern auf der ganzen Welt bearbeitet werden, die sich über das Internet austauschen, frei zugänglich. Zweitens werden Bug-Reports ebenfalls im Internet zur Verfügung gestellt. Softwareunternehmen halten ihre Bug-Reports geheim. Um verwendbare Aussagen über Softwarezuverlässigkeit aber auch über die Qualität des gewählten statistischen Modells zu treffen, ist eine große Datenmenge unerlässlich. Das Verwenden von Open-Source Daten lag somit auf der Hand.

Kontakt für Medien:

Prof. Dr. Uwe Jensen, Universität Hohenheim,
Institut für Angewandte Mathematik und Statistik,
Tel.: 0711 459-22978, E-Mail: jensen@uni-hohenheim.de
Vanessa Grosch, Universität Hohenheim,
Institut für Angewandte Mathematik und Statistik,
Tel.: 0711 459-23029, E-Mail: Vanessa.Grosch@uni-hohenheim.de


Zurück zu Pressemitteilungen