Formale Methoden in der Softwareentwicklung: Eine Notwendigkeit für die Qualitätssicherung

In verschiedenen anspruchsvollen Anwendungen wie Maschinensteuerungen, Fahrerassistenzsystemen sowie sicheren Cloud- und Blockchain-IT wachsen die Erwartungen an die Qualität von Software seit geraumer Zeit. Diese Systeme werden täglich von Millionen Menschen genutzt und sind aufgrund ihrer Komplexität und Anfälligkeit für Fehler besonders anspruchsvoll. Die Kosten für die Qualitätssicherung solcher Anwendungen steigen daher stetig an. Leider müssen oft die Kunden sowohl die Kosten als auch die Fehler tragen, ohne die Möglichkeit zu haben, Haftungsansprüche geltend zu machen.

Angesichts dieser Situation stellt sich die Frage, ob die Softwareentwicklung insgesamt auf strengere und formellere methodische Grundlagen gestellt werden sollte. Insbesondere die formalen Methoden aus der Softwaretechnik spielen dabei eine wichtige Rolle. Doch wie werden diese in den Lehrplänen für Informatik an Hochschulen und anderen Ausbildungsstätten berücksichtigt?

Es ist bemerkenswert, dass in der international anerkannten Referenz ACM/IEEE-CS/AAAI Computer Science Curricula 2023 nur knappe Lehrplanempfehlungen zum Thema Softwaretechnik sowie einige Empfehlungen für Vertiefungsvorlesungen im Bereich Programmiersprachen zu finden sind. Dies mag zum Teil daran liegen, dass die Software heutzutage eine bedeutendere Rolle spielt als noch vor einem Jahrzehnt. Zudem findet die Softwareentwicklung heutzutage auf einer abstrakteren und agileren Ebene statt, dank fortschrittlicher Hochsprachen, Plattformen und Entwicklungsökosysteme.

Um jedoch korrekte Software zuverlässig zu entwickeln und trotz notwendiger Änderungen stabil in Betrieb zu halten, ist ein oft abstrakteres, aber dennoch präzises Denken erforderlich. Genau dieses Denken wird in den sogenannten formalen Methoden zusammengefasst. Eine Ausbildung in Informatik kann vermitteln, wie leistungsfähige Werkzeuge in kritischen Bereichen der Software- und Systementwicklung eingesetzt werden können. Angesichts der zunehmenden Automatisierung der Programmierung durch künstliche Intelligenz (KI) sollten die grundlegenden Fertigkeiten ein wesentlicher Bestandteil jeder zeitgemäßen Informatikausbildung sein. Dieses Ziel sollte auch dann priorisiert werden, wenn sich eine breite und vielfältige Gruppe von Menschen für eine Informatikausbildung entscheidet, möglicherweise anders als früher.

Formale Methoden sind seit vielen Jahrzehnten in der Informationstechnik bekannt und werden unterschiedlich interpretiert. Forscher verwenden formale Logik, Mengenlehre und andere mathematische Grundlagen, um Programmierprobleme zu präzisieren und ein besseres Verständnis dafür zu erlangen. Dies beinhaltet auch die kontinuierliche Formalisierung einer Programmiersprache für die Überprüfung von Programmeigenschaften sowie eine mathematisch basierte Softwaremodellierung und -prüfung.

Weitere Forscher erweitern oder kombinieren diese Ansätze zu einer ganzheitlichen Ingenieursmethode. Eine formale Methode kann als ein mathematisch und logisch basierter Ansatz betrachtet werden, der Werkzeuge zur Konstruktion und Analyse von laufender Software, Anforderungsspezifikationen, Quelltexten oder Modellen verwendet. Die zentrale Komponente besteht darin, die relevanten Details und den Kontext einer Softwareanwendung durch eine klare und übersichtliche Notation abzustrahieren und herauszuarbeiten.

Formale Methoden werden benötigt, wenn hohe Anforderungen an die Genauigkeit und Verlässlichkeit einer Software gestellt werden, wie beispielsweise bei der Steuerung von Kraftwerken oder besonders risikoreichen Maschinen, der Abwicklung von Online-Zahlungen oder der Übertragung elektronischer Patientenakten. Durch eine strikte Vorgehensweise können Entwickler die ordnungsgemäße Konstruktion und Absicherung der Software transparent dokumentieren und kommunizieren. Dies ist auch von entscheidender Bedeutung für die Erlangung von Zertifizierungen und die Klärung von Haftungsfragen vor Gericht. Standards wie DO-178C, EN 5012x, IEC 61508 und ISO 26262 empfehlen den Einsatz formaler Ansätze in risikoreichen Szenarien.

Moderne formale Methoden und ausgereifte Werkzeuge bieten daher nicht nur das Potenzial, sondern auch die rechtliche Möglichkeit, als Maßstab für den aktuellen Stand der Qualitätssicherungspraxis im Zusammenhang mit Produkthaftungsfragen zu dienen. Daher ist es wichtig, dass sie einen festen Bestandteil in den Lehrplänen der Ausbildungsstätten haben. Nur so können angehende Softwareentwicklerinnen und -entwickler auf die steigenden Anforderungen in der Praxis vorbereitet werden und dazu beitragen, dass Software von höchster Qualität entwickelt wird.

Schlagwörter: Qualitätsansprüche + Formale Methoden + Informatikausbildung

Wie bewerten Sie den Schreibstil des Artikels?
1 Star2 Stars3 Stars4 Stars5 Stars
  • 10. November 2023