Mitgliedschaft

Informatik-Lexikon

Fachbegriffe zu Informatik und deren Anwendung

Wir sind Informatik

Key Pousttchi

Als GI-Mitglied und Fachgruppensprecher will ich dazu beitragen, dass Informationstechnologie der Gesellschaft dient (und nicht umgekehrt) und dass Deutschland und Europa künftig in diesem Bereich weiter mithalten und sich Zukunftsfelder erschließen können.

 

Verlässlichkeit von Software

Software ist heute allgegenwärtig und kommt im täglichen Leben überall zum Einsatz: in der Kommunikation, der Unterhaltungselektronik, im Haushalt, in der Medizintechnik und in sicherheitskritischen Bereichen. Umso überraschender, dass es keine durchgängigen Methoden und Werkzeuge gibt, um die Verlässlichkeit von Software zu garantieren. Dieser Herausforderung muss sich die Informatik in den kommenden Jahren stellen.

Verlässlichkeit umfasst dabei nicht nur die Frage, ob Software ihre funktionalen Anforderungen erfüllt. Auch Datenschutz und schnelles Erkennen von Fehlfunktionen sind wichtige Aspekte. Für Entwickler etwa wäre die Garantie, dass von ihnen entwickelte Softwaresysteme sensible Daten schützen, ein Qualitätsmerkmal. Anwender, die Software im privaten und industriellen Bereich einsetzen und von Software generierte Ergebnisse zur Grundlage von Entscheidungen machen, können durch Vermeiden oder frühzeitige Fehlererkennung hohe Kosten vermeiden – etwa bei Rückrufaktionen in der Automobilindustrie. Die Verlässlichkeit von Software lässt sich allerdings nicht vollständig automatisiert überprüfen und garantieren. Softwaresysteme werden für unklare Einsatzfelder und -bedingungen entworfen. Unterschiedliche Entwickler ändern sie im Laufe der Zeit, entwickeln sie weiter und vernetzen sie mit anderen Systemen. Schließlich setzen Nutzer mit verschiedenen Anforderungen sie ein. So entstehen Softwaresysteme von einer Größe, Komplexität und Vielzahl voneinander abhängiger Qualitäten. Deren Verlässlichkeit lässt sich nur durch eine Kombination von automatisierter Verifikation und weiteren Methoden wie Anwenderstudien garantieren.

In vielen Teilen der Informatik – beispielsweise Algorithmenentwicklung und -analyse, formale Spezifikationssprachen, automatische Verifikation, Semantik- und Simulationstechniken, Entwicklungs-, Architektur- und Testmethoden, Mensch-Maschine-Schnittstellenunterstützung – gibt es bereits umfangreiche Vorarbeiten zur Verlässlichkeit von Software. Diese Vorarbeiten müssen durch Zusammenarbeit der Fachleute mit Spezialisten in Hardware-nahen Disziplinen und in den Anwendungsdisziplinen zusammengeführt werden. Dadurch kann – im mittelfristigen Zeitraum innerhalb eingegrenzter Domänen und Nutzungskontexte, längerfristig auch für vernetzte Anwendungen – das Verhalten von Software präzise vorhergesagt werden. Auf Basis nachvollziehbarer und automatisch auswertbarer Dokumentationen können Softwaresysteme dann sowohl bei der Entwicklung als auch im Betrieb automatisiert zertifiziert werden. Auf Fehler kann das Softwaresystem dann auch mit selbstheilenden Mechanismen reagieren, so dass bei lokalen Ausfällen die Stabilität des gesamten Systems nicht beeinträchtigt wird.

Verlässliche Software steigert das Vertrauen der Nutzer, führt zu einem effizienteren Einsatz knapper Ressourcen und verhindert Katastrophen in sicherheitskritischen Bereichen sowie in der Infrastruktur.

Poster zum Herunterladen
Langfassung