'Zuverlässige Software wird es nie geben'

Der Mathematiker Prof. Dr. Uwe Jensen spricht in einem Interview über Zuverlässigkeitsprognosen für Softwareentwicklung und ein neuartiges Bewertungsmodell.

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 von der Uni Hohenheim: „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?

„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?

„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?

„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.“ (dsc)

tecCHANNEL Shop und Preisvergleich

Links zum Thema Software

Angebot

eBooks (50 % Preisvorteil)

eBooks zum Thema Software

Software-Shop

Software bei tecCHANNEL.de

Mobile-Shop

Software für mobile Endgeräte