IBM Research heeft ScarfBench geïntroduceerd, een open benchmark om te evalueren hoe goed AI-agenten omgaan met migraties van enterprise Java-frameworks. De benchmark laat zien dat configuratie- en runtime-afhankelijkheden de grootste obstakels zijn, niet codevertaling.

Recente vooruitgang in codeeragenten heeft enthousiasme gewekt rond AI-ondersteunde modernisering. Maar een belangrijke vraag blijft: Kunnen AI-agenten betrouwbaar real-world enterprise-applicaties moderniseren?

Bestaande software-engineering benchmarks hebben indrukwekkende vooruitgang laten zien in bugfixes en codegeneratie, maar frameworkmigratie vormt een fundamenteel andere uitdaging. Succes vereist niet alleen het vertalen van code, maar ook het behouden van gedrag, het aanpassen van buildsystemen en het navigeren door runtime-afhankelijkheden.

Om deze kloof te overbruggen, heeft IBM Research ScarfBench (Self-Contained Application Refactoring Benchmark) gecreëerd, een open benchmark voor het evalueren van AI-agenten bij cross-framework migratietaken in Enterprise Java. ScarfBench richt zich op migraties tussen drie grote Java-ecosystemen: Spring, Jakarta EE en Quarkus.

In tegenstelling tot traditionele benchmarks die gegenereerde code vergelijken met referentie-implementaties, evalueert ScarfBench of gemigreerde applicaties daadwerkelijk bouwen, implementeren en gedrag behouden.

Waarom migratie moeilijk is

Frameworkmigratie is veel meer dan het vervangen van annotaties. Een eenvoudige repository-migratie kan wijzigingen vereisen in dependency-injectie, persistentieconfiguratie, queries en frameworkdescriptors. Kleine fouten in een van deze onderdelen kunnen een succesvolle implementatie verhinderen.

scarf-intro-anatomy

Figuur: Spring → Jakarta Migratie Voorbeeld

Frameworkmigratie vereist het vertalen van frameworksemantiek, niet alleen broncode.

Introductie van ScarfBench

ScarfBench biedt een systematische manier om AI-agenten te evalueren op enterprise Java-frameworkmigratietaken. Applicaties moeten succesvol bouwen, correct implementeren en gedragsvalidatie doorstaan. Dit biedt een veel realistischer maatstaf voor moderniseringskwaliteit.

De benchmark omvat zowel gerichte migratietaken als volledige applicatiemigraties.

scarf-intro-fig

Figuur: ScarfBench Constructiepijplijn

Uitgaande van een op JSR gebaseerde enterprise Java-taxonomie creëren expertmigraties geverifieerde implementaties voor Spring, Jakarta EE en Quarkus.

Hoe presteren geavanceerde agenten?

IBM Research evalueerde verschillende state-of-the-art codeeragenten op ScarfBench. Ondanks sterke prestaties op traditionele software-engineering benchmarks, blijft frameworkmigratie moeilijk. Succespercentages variëren aanzienlijk per frameworkpaar, en volledige applicatiemigraties blijven bijzonder uitdagend.

leaderboard

Figuur: Huidige ranglijst

scarf_aggregate_progression

Figuur: Compileer → Implementeer → Test Progressie

Compileersucces overtreft consequent implementatiesucces, dat op zijn beurt gedragssucces overtreft. Alleen buildsucceces overschat de migratiekwaliteit aanzienlijk.

sankey

Figuur: Migratieresultaten per doelframework

Migratiemoeilijkheid hangt sterk af van het doelframework, waarbij Jakarta EE bijzonder uitdagend blijkt.

Wat we hebben geleerd over AI-agenten voor Java-modernisering

Naast het meten van succespercentages helpt ScarfBench te begrijpen hoe agenten zich gedragen tijdens modernisering.

Kunnen agenten betrouwbaar aangeven wanneer een migratie voltooid is?

Een gemigreerde applicatie is alleen nuttig als deze daadwerkelijk bouwt en draait. IBM Research vergeleek door agenten gerapporteerde resultaten met onafhankelijke buildverificatie.

"Claude Code rapporteerde succesvolle builds voor 29 van de 30 volledige applicaties. Slechts 22 van die applicaties bouwden daadwerkelijk succesvol. Ondertussen bouwde de enige applicatie die door de agent als mislukt was geclassificeerd uiteindelijk correct."
— IBM Research

Dit suggereert dat zelfbeoordeling door agenten niet als een betrouwbaar signaal van migratievoltooiing moet worden beschouwd. Onafhankelijke build- en testvalidatie blijft essentieel.

Hoe navigeren agenten door applicatie-afhankelijkheden?

Frameworkmigraties hebben zelden invloed op een enkel bestand of laag. Wijzigingen in configuratie, services, databases en webcomponenten cascaderen vaak door de applicatie.

De meest bezochte lagen waren configuratie, web, database en service. Veelvoorkomende overgangen waren configuratie ↔ web en service ↔ database. Dit suggereert dat migratie een iteratief afhankelijkheidsoplossingsproces is, geen eenvoudige bron-naar-brontransformatie.

Waar besteden agenten de meeste moeite?

Met behulp van de frequentie van laagherbezoeken als proxy voor migratie-inspanning, ontdekten onderzoekers dat configuratie de migratie-inspanning domineert. In plaats van lineair te verlopen, keerden agenten herhaaldelijk terug naar configuratiegerelateerde artefacten terwijl ze frameworkverschillen en afhankelijkheidsproblemen oplosten.

Welke uitdagingen gaan niet over codetransformatie?

Niet elk migratieprobleem komt voort uit broncode. Agenten worstelden vaak met omgevingsproblemen, waaronder inconsistente Docker-caches, poortconnectiviteitsproblemen en problemen met Maven-wrapper en build-tooling. Deze operationele problemen vertraagden vaak de validatie, zelfs wanneer de broncodemigratie zelf grotendeels voltooid was.

failure-distribution

Figuur: Verdeling van faalmodi

Moderniseringsfouten omvatten buildsystemen, implementatieomgevingen, dependency-injectie, databases, endpoints, beweringen en infrastructuur.

Belangrijkste conclusie

De grootste uitdaging bij frameworkmodernisering is niet het vertalen van Java-code. Het is het beheren van het web van afhankelijkheden in configuratie, infrastructuur en runtime-omgevingen. Hoewel geavanceerde agenten substantiële delen van het migratieproces kunnen automatiseren, blijven betrouwbare validatie en architecturaal redeneren cruciaal voor succesvolle resultaten.

ScarfBench helpt deze uitdagingen bloot te leggen en biedt een gestandaardiseerde manier om vooruitgang te meten naar werkelijk autonome applicatiemodernisering.

Verken ScarfBench

ScarfBench is ontworpen als een open hulpbron voor onderzoekers en praktijkmensen. Hulpbronnen omvatten een benchmarkdataset, evaluatie-infrastructuur, openbare ranglijst, documentatie en open-source code. Onderzoekers kunnen agentarchitecturen en -technieken vergelijken. Praktijkmensen kunnen ScarfBench gebruiken om moderniseringsoplossingen te evalueren voordat ze in productieomgevingen worden ingezet.

  • Website: https://scarfbench.info
  • Dataset: https://huggingface.co/datasets/ibm-research/ScarfBench
  • Space: https://huggingface.co/spaces/ibm-research/ScarfBench
  • GitHub Repository: https://github.com/scarfbench/scarfbench
  • Ranglijst: https://scarfbench.info/leaderboard
  • Paper: https://arxiv.org/abs/2605.06754

Frameworkmigratie blijft een van de grootste onopgeloste problemen in AI-ondersteunde software-engineering. IBM Research hoopt dat ScarfBench de gemeenschap helpt vooruitgang te meten en de volgende generatie AI-ondersteunde applicatiemodernisering te versnellen. Het team nodigt onderzoekers, praktijkmensen en frameworkauteurs uit om bij te dragen en de grenzen te verleggen van wat AI-agenten kunnen bereiken in enterprise softwaremodernisering.