← Nieuwste papers
💬 NLP

Beyond BLEU: A Semantic Evaluation Method for Code Translation

Dit artikel stelt een nieuwe semantische evaluatiemethodologie voor codevertaling voor die gebruikmaakt van compiler-testen om uitvoeringscorrectheid te meten, en toont aan dat op LLM's gebaseerde decompileren aanzienlijk beter presteren dan heuristische benaderingen, terwijl traditionele syntactische metrieken zoals BLEU geen correlatie vertonen met functionele nauwkeurigheid.

Oorspronkelijke auteurs: Julius Näumann, Sven Keidel, Amir Molzam Sharifloo, Mira Mezini

Gepubliceerd 2026-05-08
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Julius Näumann, Sven Keidel, Amir Molzam Sharifloo, Mira Mezini

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je probeert een recept uit een vreemde taal naar het Engels te vertalen.

De Oude Manier: Woorden Tellen
Traditioneel gebruiken computers bij het controleren of een vertaling goed is, een methode die BLEU heet. Denk hierbij aan een leraar die een vertaling beoordeelt door simpelweg te tellen hoeveel woorden overeenkomen met het origineel, waarbij de betekenis wordt genegeerd.

  • Het Probleem: Als het originele recept zegt "Voeg een snufje zout toe" en de vertaling zegt "Voeg een klein beetje zout toe", denkt de computer dat ze heel verschillend zijn omdat de woorden niet perfect overeenkomen.
  • Het Grotere Probleem: Als het origineel zegt "Bak op 180°C" en de vertaling per ongeluk zegt "Bak op 260°C", kan de computer ze toch een hoge score geven omdat de woorden er vergelijkbaar uitzien. Het resultaat? Je krijgt een verbrande cake, maar de computer zegt: "Grootse prestatie!"

De auteurs van dit paper betogen dat voor computercode deze "woorden-tellende" methode nutteloos is. Twee programma's kunnen er op papier volledig verschillend uitzien, maar precies hetzelfde doen (zoals twee verschillende manieren om een schoenveter te strikken). Omgekeerd kunnen twee programma's er bijna identiek uitzien, maar totaal verschillende dingen doen (zoals een recept dat zegt "voeg suiker toe" versus "voeg zout toe").

De Nieuwe Manier: De Proeverij
In plaats van alleen naar de woorden te kijken, stellen de auteurs een "Proeverij"-benadering voor. Ze willen zien of de vertaalde code daadwerkelijk op dezelfde manier werkt als het origineel.

Hier is hoe hun nieuwe methode werkt, met een creatieve analogie:

  1. De Generator (De Chef): Ze gebruiken een tool genaamd Csmith om automatisch duizenden willekeurige, simpele computerprogramma's te "koken". Het is alsof een robotchef duizenden willekeurige, kleine gerechtjes maakt.
  2. Het Referentiegerecht: Ze draaien deze originele programma's en meten een specifiek "smaakprofiel" (een wiskundige checksum) van het resultaat. Dit is hun uitgangspunt.
  3. De Vertaling: Ze voeren de originele code in bij een vertaler (een mensachtig AI-systeem of een traditioneel op regels gebaseerde tool) om de "vertaalde" code te krijgen.
  4. Het Opnieuw Koken: Ze nemen die vertaalde code, koken het opnieuw en meten het nieuwe "smaakprofiel".
  5. Het Oordeel: Als de smaakprofielen perfect overeenkomen, is de vertaling Semantisch Correct. Dit betekent dat de code exact hetzelfde werk doet, zelfs als de woorden er anders uitzien. Als de smaken niet overeenkomen, is de vertaling mislukt, zelfs als de woorden er wel op leken.

Wat Ze Vonden
Ze hebben deze methode getest op twee soorten vertalers:

  • De Oude School (Heuristisch): Dit zijn traditionele tools die strikte regels volgen.
  • De Nieuwe AI (LLM): Een groot taalmodel dat is getraind om code te vertalen.

De Resultaten:

  • De AI Wint: De AI-vertaler was veel beter in het behouden van de "smaak" (de feitelijke functionaliteit) van de code in vergelijking met de oude, op regels gebaseerde tools.
  • De Oude Metriek is Gebroken: Toen ze keken naar de "woorden-tellende" scores (BLEU), vonden ze geen enkele connectie met of de code daadwerkelijk werkte.
    • Soms kreeg de AI een lage score voor woordovereenkomst, maar werkte de code perfect.
    • Soms kreeg de AI een hoge score voor woordovereenkomst, maar was de code defect.

De Conclusie
Het paper concludeert dat we moeten stoppen met het beoordelen van codevertalingen op basis van hoezeer ze eruit zien als het origineel. In plaats daarvan moeten we ze beoordelen op basis van of ze zich gedragen als het origineel. De oude manier van woorden tellen is alsof je een auto beoordeelt op basis van hoezeer hij eruit ziet als een Ferrari, terwijl de nieuwe manier is om hem daadwerkelijk te rijden om te zien of hij loopt. De auteurs tonen aan dat de "rijtest" aantoont dat AI veel beter wordt in deze taak, terwijl de "uitziend-als"-test ons in de war brengt.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →