Automatisierung der Portierung von C nach Rust mit LLMs: Eine überraschend effektive Strategie
Dieser Beitrag beschreibt die Erfahrung des Autors bei der Automatisierung der Portierung von C-Code nach Rust mithilfe von Large Language Models (LLMs). Nach dem Ausprobieren verschiedener Ansätze erwies sich eine Strategie, die auf topologischer Sortierung und Fuzz-Tests basiert, als sehr effektiv. Die Symbole im C-Code wurden topologisch sortiert, dann generierte das LLM Rust-Versionen jedes Symbols zusammen mit Fuzz-Tests. Der Vergleich der Ausgaben überprüfte die Korrektheit. Dies ermöglichte die erfolgreiche Portierung der Zopfli-Komprimierungsbibliothek von C nach Rust mit identischen Ergebnissen. Obwohl nicht vollständig automatisiert, reduzierte dies die Kosten und den Aufwand erheblich und bietet einen neuen Ansatz für die Wartung und Aktualisierung großer Codebasen.
Mehr lesen