Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

TransCoder: Quellcode in andere Sprachen übersetzen

Das Deep-Learning-Modell TransCoder von Facebook AI soll Quellcode von einer Programmiersprache (etwa C++) in eine andere (etwa Python) übersetzen können, ohne dass dafür parallele Daten für die Schulung benötigt werden.
Das Übertragen von Code von einer in eine andere Programmiersprache wird bislang entweder von Entwicklern oder von regelbasierten Programmen erledigt. Quasi von Programmen, die – wie man das auch von Entwicklern annimmt – "wissen" was sie tun. Facebook AI geht die Arbeit jetzt anders an: Die Forscher aben ein Deep-Learning-Modell gezüchtet, das Quellcode von einer Sprache in eine andere überträgt. Ihr Programm TransCoder ist ein vollständig selbstüberwachtes neuronales Transcompiler-System, das die Code-Migration wesentlich einfacher und effizienter machen soll. "Unsere Methode", so schreibt Facebook AI auf dieser Seite, "ist das erste KI-System, das in der Lage ist, Code von einer Programmiersprache in eine andere zu übersetzen, ohne dass parallele Daten für die Schulung benötigt werden. Wir haben gezeigt, dass TransCoder erfolgreich Funktionen zwischen C++, Java und Python 3 übersetzen kann."Laut Entwicklerteam bei Facebook AI übertrifft TransCoder übertrifft Open-Source- und kommerzielle regelbasierte Übersetzungsprogramme. In Test-Evaluationen hat das Modell mehr als 90 Prozent der Java-Funktionen korrekt in C++ übersetzt, 74,8 Prozent der C++-Funktionen in Java und 68,7 Prozent der Funktionen von Java in Python. Im Vergleich dazu – so die Angaben von Facebook AI – übersetzt ein kommerziell erhältliches Tool nur 61,0 Prozent der Funktionen korrekt von C++ nach Java, und ein Open-Source-Übersetzer ist nur bei 38,3 Prozent der in C++ übersetzten Java-Funktionen korrekt.Besonders wichtig für das Übersetzen zwischen Programmiersprachen ist eine selbstgesteuerte Schulung. Traditionelle Ansätze für das betreute Lernen stützen sich bei der Schulung auf umfangreiche parallele Datensätze, die jedoch beispielsweise für Code-Übertragungen von COBOL nach C++ oder C++ nach Python nicht existieren. TransCoder stützt sich ausschließlich auf Quellcode, der in nur einer Programmiersprache geschrieben wurde, anstatt Beispiele desselben Codes sowohl in der Quell- als auch in der Zielsprache zu benötigen. Es erfordert, laut Facebook AI, kein Fachwissen in den Programmiersprachen und zudem lässt sich der Ansatz von TransCoder auf weitere Programmiersprachen verallgemeinern.TransCoder könnte für die Aktualisierung von Legacy-Codebasen auf moderne Programmiersprachen nützlich sein, die in der Regel effizienter und einfacher zu warten sind. Er zeigt auch, wie neuronale maschinelle Übersetzungstechniken auf neue Bereiche angewendet werden können. Facebook AI: "TransCoder ist zwar nicht dazu gedacht, bei der Fehlersuche oder der Verbesserung der Code-Qualität zu helfen, hat aber das Potenzial, Ingenieuren bei der Migration alter Codebasen oder der Verwendung von externem, in anderen Sprachen geschriebenem Code zu helfen."Weitere Informationen zum Thema finden Sie hier. Zudem stell dieses 21 Seiten umfassende PDF das Projekt TransCoder vor.
Miscellaneous

Neueste Beiträge

Wenn Software autonom wird - KI-Agenten verändern die Spielregeln der IT-Infrastruktur
Agentische KI-Systeme übernehmen mehrstufige Arbeitsabläufe und bestimmen dafür innerhalb eines vorgegebenen Rahmens nötige Schritte, führen sie aus und passen ihr Vorgehen an. Dieses Maß an Autonomie bringt bestehende Infrastrukturen schnell an ihre Grenzen.
6 Minuten
2. Nov 2026
Review von KI-generiertem Code - Projektanforderungen an Entwickler in Zeiten von KI, Teil 3
Der Code kompiliert. Die Tests sind grün. Der Pull Request sieht sauber aus. Und trotzdem ist er falsch. Fünf Fehlermuster zeigen, worauf die Reviewer beim KI-generierten Code achten müssen, weil Syntax-Korrektheit längst nicht Geschäftslogik-Korrektheit bedeutet.
6 Minuten
Flexible Templates ohne Wiederholung - Infrastructure as Code mit Azure Bicep, Teil 2
Wie Bicep-Parameter typisiert, eingeschränkt und mit sinnvollen Standardwerten versehen werden und wie Variablen sich nutzen lassen, um aus Parametern abgeleitete Werte zu berechnen, etwa für Namenskonventionen oder umgebungsabhängige SKUs.
5 Minuten

Das könnte Dich auch interessieren

Legacy-Modernisierung mit Augenmaß gestalten
Legacy-Systeme durch radikale Ablösungen zu modernisieren, kann schnell nach hinten losgehen. Mehr und mehr setzen sich deshalb Ansätze durch, die Funktionen schrittweise ersetzen, Schnittstellen kontrolliert migrieren und die neue Architektur sukzessive aufbauen.
8 Minuten
26. Okt 2026
VS Code aus der Adresszeile des Windows Explorers heraus aufrufen - Tipp der Woche
Nach einem Eintrag im Pfad starten auch andere Programme an der Adresszeile.
2 Minuten
27. Okt 2022
MuMu Player 11 (Beta): Emulator für Android 11 - NetEase
MuMu Player ist eine kostenlose Software, die Android-Geräte emuliert, so dass Spieler verschiedene mobile Spiele und Apps auf einem PC ausführen können. Der Player bietet Vulkan-Unterstützung für die Ausführung weiterer Spiele und bietet Bildraten von bis zu 120 FPS.
3 Minuten
26. Apr 2022
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige