← Neueste Arbeiten
🤖 AI

Effectiveness of LLM-based Software Diversity for Reliability Improvement -- an Empirical Study

Diese empirische Studie zeigt, dass Large Language Models als skalierbare, kostengünstige Quelle für Software-Diversität dienen können, wobei die Kombination von LLM-generierten Programmen – insbesondere in heterogenen Konfigurationen über verschiedene Modelle, Einstellungen und Sprachen hinweg – die Systemzuverlässigkeit durch die Reduzierung von Common-Mode-Fehlern effektiv verbessert.

Ursprüngliche Autoren: Gabriel Almeida, Ilir Gashi, Vladimir Stankovic, João R. Campos

Veröffentlicht 2026-07-07
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Gabriel Almeida, Ilir Gashi, Vladimir Stankovic, João R. Campos

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie bauen eine kritische Brücke. Um sicherzustellen, dass sie nicht einstürzt, bauen Sie nicht nur eine Version; Sie bauen drei oder vier verschiedene Versionen mit unterschiedlichen Bauplänen, unterschiedlichen Materialien und unterschiedlichen Ingenieurteams. Wenn ein Team einen Fehler macht, der zu einem Riss führt, könnten die anderen ihn entdecken, weil sie ihn anders gebaut haben. Dies ist der Kern der Idee der Software-Diversität: das Vorhandensein mehrerer, unterschiedlicher Versionen derselben Software, damit wenn eine ausfällt, die anderen weiterarbeiten können.

Jahrzehntelang war dies unglaublich teuer und langsam. Man musste verschiedene Teams engagieren, sie bezahlen, um den Code von Grund auf neu zu schreiben, und dann alle testen. Es war, als würde man drei verschiedene Köche engagieren, um exakt dieselbe Suppe zu kochen, in der Hoffnung, dass wenn einer sie anbrennt, die anderen sie richtig hinbekommen.

Der Einzug der „Magischen Fotokopier-Maschine“ (LLMs)
Vor kurzem sind Large Language Models (LLMs) auf den Plan getreten. Betrachten Sie diese als superschnelle, magische Fotokopier-Maschinen, die Code augenblicklich schreiben können. Sie können eine Maschine bitten, ein Programm 100 Mal zu schreiben, und sie wird Ihnen in Sekundenschnelle 100 leicht unterschiedliche Versionen liefern. Die große Frage, die die Autoren stellten, war: „Wenn wir diese magische Maschine nutzen, um unsere ‚Ersatz-Brücken‘ zu erschaffen, werden sie dann tatsächlich unterschiedlich genug sein, um uns zu retten, wenn etwas schiefgeht?“

Hier ist das, was sie herausgefunden haben, einfach aufgeschlüsselt:

1. Das Problem der „Gleichen Fehler“

Die Forscher testeten drei verschiedene Programmierrätsel (wie mathematische Aufgaben) mit zwei Gruppen:

  • Gruppe A: Echte Menschen, die vor Jahren Code geschrieben haben (bevor KI verbreitet war).
  • Gruppe B: Code, der von verschiedenen KI-Modellen generiert wurde.

Sie fanden heraus, dass KI-Modelle zwar Fehler machen, aber oft die gleichen Fehler wie untereinander machen. Wenn man zwei verschiedene KI-Modelle bittet, ein Rätsel zu lösen, stolpern sie vielleicht beide über exakt denselben kniffligen Schritt. Das ist so, als würde man zwei Schüler, die aus demselben Lehrbuch gelernt haben, eine Prüfung schreiben lassen; wenn beide eine Frage falsch beantworten, liegt es wahrscheinlich daran, dass das Lehrbuch eine verwirrende Erklärung hatte, und nicht daran, dass sie unterschiedlich denken.

2. Der „Sprachwechsel“-Trick

Die Forscher entdeckten jedoch einen cleveren Weg, die KI-Versionen viel unterschiedlicher voneinander zu machen. Sie zwangen die KI, den Code in verschiedenen Programmiersprachen zu schreiben (z. B. eines in C++, eines in Java, eines in Python).

  • Die Analogie: Stellen Sie sich vor, Sie bitten denselben Koch, eine Suppe zuzubereiten, aber zuerst in einer französischen Küche, dann in einer japanischen Küche und dann in einer italienischen Küche. Selbst wenn sie dieselbe Suppe zubereiten, werden die Werkzeuge, Zutaten und Techniken, die sie verwenden, so unterschiedlich sein, dass es unwahrscheinlich ist, dass sie exakt denselben Fehler machen.
  • Das Ergebnis: Als die KI den Code in verschiedenen Sprachen schrieb, wurden die „Ersatz“-Versionen viel zuverlässiger. Es war unwahrscheinlicher, dass sie gemeinsam ausfielen. Tatsächlich funktionierte das Mischen verschiedener KI-Sprachen in einigen Fällen sogar besser als das Mischen verschiedener menschlicher Sprachen.

3. Das „Mensch + KI“-Superteam

Die spannendste Erkenntnis war das, was passierte, wenn sie ein menschengeschriebenes Programm mit einem KI-geschriebenen Programm kombinierten.

  • Die Analogie: Denken Sie an einen Menschen als erfahrenen Detektiv, der sich auf Intuition und Erfahrung verlässt, und an eine KI als einen superschnellen Roboter, der auf Mustern und Daten basiert.
  • Das Ergebnis: Diese beiden sind in ihrer Art und Weise, wie sie denken, so unterschiedlich, dass sie selten denselben Fehler machen. Wenn der Mensch einen subtilen Hinweis übersieht, könnte die KI ihn entdecken. Wenn die KI durch eine seltsame Formatierungsregel verwirrt wird, könnte der Mensch das Problem lösen.
  • Das Ergebnis: Die Paarung eines Menschen mit einer KI schuf ein „superzuverlässiges“ System, das oft weitaus robuster war als die Verwendung von zwei Menschen oder zwei KIs allein. In einigen Fällen waren sie so unterschiedlich, dass sie die Schwächen des jeweils anderen perfekt abdeckten und wie ein Sicherheitsnetz fungierten, das stärker war als die Summe seiner Teile.

4. Der „Temperatur“-Regler

Die Forscher versuchten auch, den Regler für die „Kreativität“ (genannt „Temperature“) der KI höher zu drehen.

  • Die Analogie: Stellen Sie sich vor, Sie bitten einen Autor, eine Geschichte zu schreiben. Wenn Sie ihm sagen, er solle sehr streng sein (niedrige Temperatur), schreibt er jedes Mal dieselbe Geschichte. Wenn Sie ihm sagen, er solle wild und kreativ sein (hohe Temperatur), schreibt er sehr unterschiedliche Geschichten.
  • Das Ergebnis: Die KI kreativer zu machen, erzeugte zwar mehr Vielfalt im Code, führte aber auch dazu, dass der Code wahrscheinlicher komplett kaputtging (wie eine Geschichte, die keinen Sinn ergibt). Obwohl es ein wenig half, war das Wechseln der Programmiersprache ein viel mächtigerer Weg, um sicherzustellen, dass die Backups unterschiedlich und zuverlässig waren.

Das Fazit

Das Paper kommt zu dem Schluss, dass KI ein fantastisches Werkzeug zur Erstellung von Software-Diversität ist, aber man muss sie klug einsetzen.

  • Bitten Sie die KI nicht, dasselbe 10 Mal in derselben Sprache zu schreiben. Sie werden wahrscheinlich alle auf die gleiche Weise scheitern.
  • Bitten Sie die KI hingegen, dasselbe in verschiedenen Sprachen zu schreiben. Dies schafft ein echtes „Sicherheitsnetz“.
  • Mischen Sie Mensch und KI. Die Unterschiede zwischen der Art und Weise, wie Menschen und Maschinen denken, machen sie zu den perfekten Partnern für Zuverlässigkeit.

Kurz gesagt: KI kann uns helfen, sicherere Software zu bauen – nicht indem sie den Menschen ersetzt, sondern indem sie ein massives, kostengünstiges Angebot an „unterschiedlichen“ Versionen bereitstellt, die wir mischen und kombinieren können, um Fehler abzufangen, die eine einzelne Version übersehen würde.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →