IBM Research představil ScarfBench, otevřený benchmark navržený k hodnocení, jak dobře si AI agenti poradí s migrací podnikových Java frameworků. Benchmark odhaluje, že největší překážkou není překlad kódu, ale konfigurace a runtime závislosti.

Nedávné pokroky v kódovacích agentech vyvolaly nadšení kolem modernizace s asistencí AI. Důležitá otázka však zůstává: Dokážou AI agenti spolehlivě modernizovat reálné podnikové aplikace?

Stávající benchmarky softwarového inženýrství ukázaly působivý pokrok v opravách chyb a generování kódu, ale migrace frameworků představuje zásadně odlišnou výzvu. Úspěch vyžaduje nejen překlad kódu, ale také zachování chování, přizpůsobení sestavovacích systémů a zvládnutí runtime závislostí.

Aby zaplnil tuto mezeru, IBM Research vytvořil ScarfBench (Self-Contained Application Refactoring Benchmark), otevřený benchmark pro hodnocení AI agentů na úlohách migrace mezi frameworky v Enterprise Java. ScarfBench se zaměřuje na migrace napříč třemi hlavními Java ekosystémy: Spring, Jakarta EE a Quarkus.

Na rozdíl od tradičních benchmarků, které porovnávají generovaný kód s referenčními implementacemi, ScarfBench vyhodnocuje, zda migrované aplikace skutečně sestaví, nasadí a zachovají chování.

Proč je migrace obtížná

Migrace frameworku je mnohem víc než jen výměna anotací. Jednoduchá migrace repozitáře může vyžadovat změny v injekci závislostí, konfiguraci persistence, dotazech a deskriptorech frameworku. Malé chyby v kterékoli z těchto částí mohou zabránit úspěšnému nasazení.

scarf-intro-anatomy

Obrázek: Příklad migrace Spring → Jakarta

Migrace frameworku vyžaduje překlad sémantiky frameworku, nejen zdrojového kódu.

Představení ScarfBench

ScarfBench poskytuje systematický způsob hodnocení AI agentů na úlohách migrace podnikových Java frameworků. Aplikace musí úspěšně sestavit, správně nasadit a projít behaviorální validací. To poskytuje mnohem realističtější měřítko kvality modernizace.

Benchmark zahrnuje jak cílené migrační úlohy, tak migrace celých aplikací.

scarf-intro-fig

Obrázek: Pipeline tvorby ScarfBench

Počínaje taxonomií podnikové Java založené na JSR vytvářejí expertní migrace ověřené implementace napříč Spring, Jakarta EE a Quarkus.

Jak si vedou špičkoví agenti?

IBM Research vyhodnotil několik nejmodernějších kódovacích agentů na ScarfBench. Navzdory silnému výkonu na tradičních softwarových benchmarcích zůstává migrace frameworků obtížná. Míra úspěšnosti se výrazně liší napříč dvojicemi frameworků a migrace celých aplikací zůstávají obzvláště náročné.

leaderboard

Obrázek: Aktuální žebříček

scarf_aggregate_progression

Obrázek: Progrese Kompilace → Nasazení → Test

Úspěšnost kompilace trvale převyšuje úspěšnost nasazení, která zase převyšuje behaviorální úspěšnost. Samotná úspěšnost sestavení výrazně nadhodnocuje kvalitu migrace.

sankey

Obrázek: Výsledky migrace podle cílového frameworku

Obtížnost migrace silně závisí na cílovém frameworku, přičemž Jakarta EE se ukazuje jako obzvláště náročná.

Co jsme se naučili o AI agentech pro modernizaci Javy

Kromě měření úspěšnosti pomáhá ScarfBench pochopit, jak se agenti chovají během modernizace.

Dokážou agenti spolehlivě určit, kdy je migrace dokončena?

Migrovaná aplikace je užitečná jen tehdy, pokud se skutečně sestaví a běží. IBM Research porovnal výsledky hlášené agenty s nezávislým ověřením sestavení.

„Claude Code nahlásil úspěšná sestavení u 29 z 30 celých aplikací. Pouze 22 z těchto aplikací se skutečně úspěšně sestavilo. Mezitím jediná aplikace klasifikovaná agentem jako neúspěšná se nakonec sestavila správně.“
— IBM Research

To naznačuje, že sebehodnocení agenta by nemělo být považováno za spolehlivý signál dokončení migrace. Nezávislá validace sestavení a testů zůstává nezbytná.

Jak se agenti pohybují v závislostech aplikace?

Migrace frameworků zřídka ovlivňují jediný soubor nebo vrstvu. Změny v konfiguraci, službách, databázích a webových komponentách se často kaskádovitě šíří napříč aplikací.

Nejčastěji navštěvovanými vrstvami byly konfigurace, web, databáze a služby. Běžné přechody zahrnovaly konfigurace ↔ web a služba ↔ databáze. To naznačuje, že migrace je iterativní proces řešení závislostí, nikoli jednoduchá transformace ze zdroje do zdroje.

Kde agenti tráví nejvíce úsilí?

Pomocí frekvence opětovných návštěv vrstev jako proxy pro migrační úsilí výzkumníci zjistili, že konfigurace dominuje migračnímu úsilí. Místo lineárního postupu se agenti opakovaně vraceli k artefaktům souvisejícím s konfigurací při řešení rozdílů frameworků a problémů se závislostmi.

Jaké výzvy nesouvisejí s transformací kódu?

Ne každý problém s migrací pochází ze zdrojového kódu. Agenti často bojovali s problémy prostředí, včetně nekonzistencí Docker cache, problémů s připojením portů a problémů s Maven wrapperem a nástroji pro sestavení. Tyto provozní záležitosti často zdržovaly validaci, i když samotná migrace zdrojového kódu byla z velké části hotová.

failure-distribution

Obrázek: Rozdělení režimů selhání

Selhání modernizace zahrnují sestavovací systémy, prostředí nasazení, injekci závislostí, databáze, endpointy, aserce a infrastrukturu.

Klíčové ponaučení

Největší výzvou při modernizaci frameworků není překlad Java kódu. Je to správa sítě závislostí napříč konfigurací, infrastrukturou a runtime prostředími. Zatímco špičkoví agenti dokážou automatizovat podstatné části migračního procesu, spolehlivá validace a architektonické uvažování zůstávají klíčové pro dosažení úspěšných výsledků.

ScarfBench pomáhá odhalit tyto výzvy a poskytuje standardizovaný způsob měření pokroku směrem k skutečně autonomní modernizaci aplikací.

Prozkoumejte ScarfBench

ScarfBench je navržen jako otevřený zdroj pro výzkumníky a praktiky. Zdroje zahrnují dataset benchmarku, vyhodnocovací infrastrukturu, veřejný žebříček, dokumentaci a open-source kód. Výzkumníci mohou porovnávat architektury a techniky agentů. Praktici mohou použít ScarfBench k vyhodnocení modernizačních řešení před jejich nasazením do produkčního prostředí.

  • Web: https://scarfbench.info
  • Dataset: https://huggingface.co/datasets/ibm-research/ScarfBench
  • Space: https://huggingface.co/spaces/ibm-research/ScarfBench
  • GitHub repozitář: https://github.com/scarfbench/scarfbench
  • Žebříček: https://scarfbench.info/leaderboard
  • Článek: https://arxiv.org/abs/2605.06754

Migrace frameworků zůstává jedním z největších nevyřešených problémů v softwarovém inženýrství s asistencí AI. IBM Research doufá, že ScarfBench pomůže komunitě měřit pokrok a urychlit další generaci modernizace aplikací s asistencí AI. Tým zve výzkumníky, praktiky i autory frameworků, aby přispěli a pomohli posouvat hranice toho, co AI agenti dokážou v modernizaci podnikového softwaru.