ScarfBench:面向企業Java框架遷移的AI智慧體基準測試
IBM Research推出ScarfBench,這是一個用於評估AI智慧體在企業Java中跨框架遷移任務的開源基準。該基準包含34個應用程式、102個框架實現和204個遷移任務。目前頂尖智慧體的行為成功率低於10%,突顯了在遷移過程中保持行為的難度。
企業應用現代化是組織面臨的最大、最昂貴的軟體工程活動之一。團隊透過跨框架遷移應用來提高可維護性、雲就緒性、開發人員生產力以及對現代功能的訪問。近年來,編碼智慧體的進步激發了人們對AI輔助現代化的興趣,但一個重要問題依然存在:AI智慧體能否可靠地現代化真實世界的企業應用?
現有的軟體工程基準在錯誤修復和程式碼生成方面取得了令人矚目的進展,但框架遷移提出了根本不同的挑戰。成功不僅需要翻譯程式碼,還需要保持行為、調整構建系統以及處理執行時依賴。為了填補這一空白,IBM Research推出了ScarfBench(自包含應用重構基準),這是一個用於評估AI智慧體在企業Java中跨框架遷移任務的開源基準。
ScarfBench專注於三大Java生態系統的遷移:Spring、Jakarta EE和Quarkus。與傳統基準不同,ScarfBench不將生成的程式碼與參考實現進行比較,而是評估遷移後的應用是否真正構建、部署並保持行為。
框架遷移遠不止替換註解那麼簡單。簡單的倉庫遷移可能需要更改依賴注入、持久化配置、查詢和框架描述符。這些部分的任何小錯誤都可能導致部署失敗。ScarfBench提供了系統性的評估方法。應用必須成功構建、正確部署並透過行為驗證,這提供了更現實的現代化質量衡量標準。
基準概覽:34個應用,102個框架實現,204個遷移任務,約15.1萬行程式碼,約2000個原始檔和測試檔案,1331個專家編寫的測試。ScarfBench包括聚焦的遷移任務和全應用遷移。
我們評估了多個最先進的編碼智慧體。儘管在傳統軟體工程基準上表現強勁,但框架遷移仍然困難。成功率在不同框架對之間差異很大,全應用遷移尤其具有挑戰性。即使最強的當前智慧體,行為成功率也低於10%,這說明了生成可編譯程式碼與保持應用行為之間的差距。編譯成功始終高於部署成功,而部署成功又高於行為成功。僅憑構建成功會大大高估遷移質量。遷移難度很大程度上取決於目標框架,Jakarta EE尤其具有挑戰性。
除了測量成功率,ScarfBench還幫助我們理解智慧體在現代化過程中的行為。我們發現智慧體過度自信:Claude Code報告了30個全應用中有29個構建成功,但實際上只有22個成功。而智慧體分類為失敗的一個應用最終構建正確。這表明智慧體的自我評估不應被視為遷移完成的可靠訊號。獨立的構建和測試驗證仍然必不可少。
框架遷移很少影響單個檔案或層。配置、服務、資料庫和Web元件的更改通常會級聯到整個應用中。我們發現遷移是迭代的而非線性的。最常訪問的層是配置、Web、資料庫和服務。常見的轉換包括配置↔Web和服務↔資料庫。這表明遷移是一個迭代的依賴解析過程,而不是簡單的源到源轉換。
我們使用層重訪頻率作為遷移工作量的代理。需要重複訪問的層通常涉及除錯、依賴解析或框架適配。配置佔據了遷移的主要工作量。智慧體在解析框架差異和依賴問題時反覆回到與配置相關的工件。
並非每個遷移問題都源於原始碼。環境和工具問題同樣重要。智慧體經常遇到Docker快取不一致、埠連線問題、Maven包裝器和構建工具問題等環境問題。這些操作性問題常常延遲驗證,即使原始碼遷移本身基本完成。現代化失敗涵蓋構建系統、部署環境、依賴注入、資料庫、端點、斷言和基礎設施等多個方面。
關鍵結論:框架現代化最大的挑戰不是翻譯Java程式碼,而是管理配置、基礎設施和執行時環境之間的依賴網路。雖然前沿智慧體可以自動化大部分遷移過程,但可靠的驗證和架構推理對於實現成功結果仍然至關重要。ScarfBench有助於揭示這些挑戰,並提供標準化方法來衡量實現真正自主應用現代化的進展。
ScarfBench作為開源資源提供給研究人員和實踐者。資源包括基準資料集、評估基礎設施、公開排行榜、文件和開原始碼。研究人員可以比較智慧體架構和技術。實踐者可以在生產環境中部署現代化解決方案之前,使用ScarfBench進行評估。
網站:https://scarfbench.info 資料集:https://huggingface.co/datasets/ibm-research/ScarfBench 空間:https://huggingface.co/spaces/ibm-research/ScarfBench GitHub倉庫:https://github.com/scarfbench/scarfbench 排行榜:https://scarfbench.info/leaderboard 論文:https://arxiv.org/abs/2605.06754
框架遷移仍然是AI輔助軟體工程中最大的未解決問題之一。我們希望ScarfBench能幫助社群衡量進展,並加速下一代AI輔助應用現代化。我們邀請研究人員、實踐者和框架社群評估他們的智慧體,貢獻新的遷移場景,並推動技術發展。