現代化企業應用程式是組織中最龐大且成本最高的軟體工程活動之一。團隊會將應用程式遷移到不同的框架,以提高可維護性、雲端就緒性、開發者生產力,並取得現代功能。
近期程式碼代理的進展,激發了人們對 AI 輔助現代化的興奮。但一個重要的問題仍然存在:AI 代理能否可靠地現代化真實世界的企業應用程式?
現有的軟體工程基準測試在錯誤修復和程式碼生成方面展現了令人印象深刻的進展,但框架遷移帶來了根本不同的挑戰。成功不僅需要翻譯程式碼,還需要保留行為、調整建構系統,並處理執行時依賴關係。
為了彌補這一差距,我們推出了 ScarfBench (Self-Contained Application Refactoring Benchmark),這是一個開放基準測試,用於評估 AI 代理在企業級 Java 跨框架遷移任務中的表現。
ScarfBench 專注於三大 Java 生態系統之間的遷移:Spring、Jakarta EE 和 Quarkus。與傳統將生成程式碼與參考實作進行比較的基準測試不同,ScarfBench 評估遷移後的應用程式是否能實際建構、部署並保留行為。
框架遷移遠不止替換註解那麼簡單。一個簡單的儲存庫遷移可能需要在依賴注入、持久化配置、查詢和框架描述符之間進行更改。其中任何一個環節的小錯誤都可能導致部署失敗。框架遷移需要翻譯框架語義,而不僅僅是原始程式碼。
ScarfBench 提供了一種系統化的方法來評估 AI 代理在企業級 Java 框架遷移任務中的表現。應用程式必須成功建構、正確部署並通過行為驗證。這提供了一個更實際的現代化品質衡量標準。
ScarfBench 包含焦點遷移任務和整個應用程式遷移。從基於 JSR 的企業級 Java 分類法開始,專家遷移會建立 Spring、Jakarta EE 和 Quarkus 之間的驗證實作。
我們評估了多個最先進的程式碼代理在 ScarfBench 上的表現。儘管在傳統軟體工程基準測試中表現強勁,但框架遷移仍然困難。不同框架組合的成功率差異很大,而整個應用程式的遷移尤其具有挑戰性。
即使是最強大的現有代理,其行為成功率也低於 10%,這說明了生成可編譯程式碼與保留應用程式行為之間的差距。編譯成功率始終高於部署成功率,而部署成功率又高於行為成功率。僅僅建構成功會顯著高估遷移品質。
遷移難度很大程度上取決於目標框架,其中 Jakarta EE 被證明特別具有挑戰性。
除了衡量成功率,ScarfBench 還幫助我們了解代理在現代化過程中的行為。遷移後的應用程式只有在實際建構和運行時才有用。因此,我們將代理報告的結果與獨立的建構驗證進行了比較。
結果發現:代理過於自信。Claude Code 報告了 30 個整個應用程式中有 29 個成功建構。但其中只有 22 個應用程式實際成功建構。同時,被代理歸類為失敗的單一應用程式最終卻正確建構。這表明代理的自我評估不應被視為遷移完成的可靠信號。獨立的建構和測試驗證仍然至關重要。
框架遷移很少只影響單個檔案或層。配置、服務、資料庫和網頁元件的更改通常會波及整個應用程式。結果發現:遷移是迭代而非線性的。最常造訪的層包括:配置、網頁、資料庫、服務。常見的轉換包括:配置 ↔ 網頁、服務 ↔ 資料庫。這表明遷移是一個迭代的依賴解析過程,而不是簡單的原始碼到原始碼的轉換。
我們使用層級重新造訪頻率作為遷移工作量的代理指標。需要重複造訪的層通常涉及偵錯、依賴解析或框架適應。結果發現:配置主導了遷移工作量。代理不是線性地進行,而是反覆回到配置相關的構件,同時解決框架差異和依賴問題。
並非每個遷移問題都源於原始程式碼。結果發現:環境和工具很重要。代理經常在環境問題上遇到困難,包括:Docker 快取不一致、連接埠連線問題、Maven wrapper 和建構工具問題。這些操作問題通常會延遲驗證,即使原始程式碼遷移本身已大致完成。
現代化失敗涵蓋了建構系統、部署環境、依賴注入、資料庫、端點、斷言和基礎設施。框架現代化最大的挑戰不是翻譯 Java 程式碼。而是管理配置、基礎設施和執行時環境之間的依賴關係網。雖然最先進的代理可以自動化大部分遷移過程,但可靠的驗證和架構推理對於實現成功結果仍然至關重要。ScarfBench 有助於揭示這些挑戰,並提供標準化的方法來衡量實現真正自主應用程式現代化的進展。
ScarfBench 被設計為研究人員和實務工作者的開放資源。資源包括:基準測試資料集、評估基礎設施、公開排行榜、文件和開源程式碼。研究人員可以比較代理架構和技術。實務工作者可以在將現代化解決方案部署到生產環境之前,使用 ScarfBench 進行評估。
框架遷移仍然是 AI 輔助軟體工程中最大的未解決問題之一。我們希望 ScarfBench 能幫助社群衡量進展,並加速下一代 AI 輔助應用程式現代化。我們邀請研究人員、實務工作者和框架社群評估他們的代理,貢獻新的遷移情境,並幫助推進最先進的技術。



