Neue Herausforderungen in Sachen Verlässlichkeit von Software entstehen entweder durch eine veränderte Nutzung oder eine veränderte Entwicklung und Verbreitung. Um die Frage zu beantworten, was das in der Praxis bedeutet und wie Gestalter und Entscheider in der digitalen Welt diesen Herausforderungen begegnen können, hatte der MÜNCHNER KREIS bereits am 13. März zahlreiche Expertinnen und Experten nach Berlin ins Fraunhofer-Institut FOKUS geladen, zur Konferenz "Software-Verlässlichkeit - entscheidender Erfolgsfaktor für Industrie 4.0 und Künstliche Intelligenz".
Einig waren sie alle darin, dass die Erwartungen der Kundschaft an Software zuletzt deutlich gestiegen sind. So soll die Entwicklung immer schneller gehen, das Produkt zugleich immer besser werden. Diese auf den ersten Blick widersprüchliche Erwartungshaltung sei nicht zwingend paradox, erläuterte in Berlin Volker Kirchgeorg, Head of Integrated Quality & Services bei SAP. Der ganzheitliche Entwicklungsansatz DevOps steigere in vielen Fällen tatsächlich beides, die Geschwindigkeit beim Ausliefern und die Qualität. Zugleich müssten sich die Kunden allerdings an sogenannte Micro Deliveries gewöhnen, also daran, dass Features schrittweise geliefert werden, beispielsweise jedes Quartal.
Moral in Programmiercode abbilden?
Wobei der Begriff 'liefern' in Zeiten des Cloud Computing eine neue Bedeutung bekommt, weil die Kunden nicht mehr Produkte kaufen, sondern den Zugang zu einem Service. Auch und gerade ein solcher Service kann aber nur dann verlässlich sein, wenn die Nutzer ihm auch vertrauen.
Wie man dieses Vertrauen systematisch fördert, damit beschäftigt sich Philipp Otto, Gründer und Direktor von iRights.Lab. Der Think Tank entwickelte gemeinsam mit der Bertelsmann Stiftung sogenannte "Algo.Rules", neun Regeln für Algorithmen, die Otto in Berlin präsentierte, und die zeigen sollten, "dass man Moral in Programmiercode abbilden kann."
Eine dieser Regeln lautet, dass Ziele und Wirkungen eines Algorithmus vorher dokumentiert werden müssen, eine andere, dass diese Ziele und Wirkungen nachvollziehbar gemacht werden - einschließlich der Frage, ob man grundsätzlich auch ohne den Einsatz von Algorithmen auskommen könnte.
Diese und weitere Algo.Rules - darauf legte iRights.Lab-Gründer Otto in Berlin wert - sagen allerdings nichts über die Qualität eines Algorithmus aus. Sondern sie legen nur fest, wie man ihn gestalten und handhaben sollte, damit er anhand moralischer Maßstäbe bewertbar ist: nachvollziehbar vor allem und kontrollierbar.
Der Fortschritt stellt Haftungsregimes infrage
Neben den Ansprüchen an Software verändern sich auch Haftungsfragen im Zusammenhang mit der Entwicklung und dem Vertrieb von Computerprogrammen rasant. Wie Michael Schmidl, Fachanwalt für IT-Recht und Honorarprofessor an der Universität Augsburg erläuterte, stellt beispielsweise die agile Softwareentwicklung Juristen vor neue Herausforderungen. "Wenn für einen Vorgang bezahlt wird und nicht für ein fertiges Produkt, dann gilt dabei in der Regel das Dienstvertragsrecht. Darin ist aber nur festgelegt, dass man etwas erledigt, und nicht, dass man es zwingend auch gut erledigt."
Der technische Fortschritt, so konstatiert Schmidl, stelle insgesamt bestehende Haftungsregimes infrage. So sei zum Beispiel auch keineswegs klar, wer für Schäden durch autonome Systeme hafte.
Blockchain: Viele Ideen, wenig Umsetzung
Über Möglichkeiten und Grenzen der Blockchain-Technologie berichtete Florian Matthes, Professor Software Engineering betrieblicher Informationssysteme (sebis) an der TU München. Blockchain sei viel mehr als das kryptographische Verfahren hinter dem Bitcoin-Zahlungssystem, stellt der Wissenschaftler klar. Autohersteller beispielsweise wollen die Technologie nutzen, um gemeinsam mit dem ÖPNV und weiteren Mobilitätsanbietern eine vernetzte Mobilitätsplattform zu schaffen. Mit den verketteten Blöcken stünde dabei eine neutrale Instanz bereit, die dafür sorgt, dass Transaktionen maximal transparent ablaufen.
Klingt genial, dennoch räumt Matthes ein, dass es in diesem Bereich zwar viele Ideen, aber noch recht wenig praktische Umsetzung gibt. Dafür nennt er einen einfachen Grund: "Die Governance solcher Projekte ist schwierig, weil ich dabei meist gemeinsam mit meinem Feind handeln muss."
Gegenseitiges Vertrauen benötigen auch die Mitglieder des Industrial Internet Consortium (IIC), zu denen Dirk Slama, Vice President bei Bosch Software Innovations gehört. Wichtiges Element der Arbeit des IIC sind sogenannte Testbeds. Dabei handelt es sich um "Experimentierumfelder für Co-Innovation", erläuterte Slama in Berlin. Zwei Fragen seien dabei entscheidend. Erstens: "Wie kann ich experimentell agieren, ohne dabei Sicherheitsprobleme zu produzieren?" Zweitens: "Wie baue ich Digital Trust in eine IoT-Lösung ein - die ja ohnehin schon hochkomplex ist?"
Entscheidend ist die Zertifizierung
Auch der Open Source-Gedanke lebt davon, dass viele Leute gemeinsam handeln, dabei geben und nehmen und dadurch Teil einer Community werden. Mit diesem Thema beschäftigt sich Alexander Bluhm, Mathematiker in der Entwicklungsabteilung des Sicherheitsherstellers genua GmbH, die zu 75 Prozent im Besitz der Bundesdruckerei ist. "Durch die Verwendung von OS Software können wir vor allem die Verlässlichkeit unserer Produkte nachvollziehen", so Bluhm.
Bei diesen Produkten handelt es sich zum Beispiel um Firewalls, VPN-Gateways oder Sicherheits-Laptops. Türöffner für viele Märkte ist dabei eine unabhängige Prüfung des Quellcodes der verwendeten Software - und eine anschließende Zertifizierung durch das Bundesamt für Sicherheit in der Informationstechnik (BSI).
Wachsende Komplexität erschwert Vertrauen
Software nimmt bereits heute enormen Einfluss auf unser Leben. Und dieser Einfluss wird weiter wachsen, wie Ina Schieferdecker in Berlin klarmachte. "Technische Systeme sind heute ohne Software nicht mehr vorstellbar", so die Leiterin des Fraunhofer-Instituts für Offene Kommunikationssysteme (FOKUS) und TU-Professorin. Deshalb stelle sich mehr denn je die Frage, "wie wir es schaffen, dass Software genau das tut, was sie soll." Das gelte erst recht, weil Computerprogramme immer häufiger nicht nur Prozesse steuern, sondern auch Entscheidungen vorbereiten und unterstützen.
Auch deshalb ist Verlässlichkeit von Software - gerade im KI- und IoT-Umfeld - weniger ein Funktions- als vielmehr ein Vertrauensthema. Diese Erkenntnis zog sich wie ein roter Faden durch die Berliner Fachkonferenz. Dieses Vertrauen ist oft brüchig, weil die Komplexität von Systemen immer weiter steigt, und weil der Verbleib und die Nutzung von Daten oft schwer nachvollziehbar ist.
Was wird der Computer tun?
Deshalb sollte zumindest die Nachvollziehbarkeit von Zielen, Funktionen und Verantwortlichkeiten Teil jeder Softwareentwicklung sein. Nachvollziehbar seien diese Punkte alledings nur, wenn sie erklärbar und vermittelbar sind. Das verdeutlichte Diana Serbanescu vom Weizenbaum-Institut für die vernetzte Gesellschaft im abschließenden Impulsvortrag der Fachkonferenz.
Warum das so wichtig ist, erklärte sie mithilfe eines Zitats ebenjenes Informatikers Joseph Weizenbaum, dem das Institut seinen Namen verdankt: "Ein Computer wird das tun, was du ihm sagst, aber das kann etwas ganz anderes sein, als du ursprünglich im Sinn hattest."