能夠自動分析出Java應用中相互依賴程度的工具:Jarviz -Expedia

banq發表於2020-04-11

Jarviz是為Java應用程式設計的依賴性分析工具。Jarviz可以提供跨工件的Java方法之間的耦合的完整圖。由於一個類中的非私有方法可以被其他類訪問,因此方法呼叫可以相互纏結,從而在彼此之間建立多重耦合。Jarviz深入分析Java位元組碼,以使用者友好的方式顯示這些耦合。也就是透過Java位元組碼分析揭示了Java應用在欄位級別的依賴性。

Jarviz由三個部分組成。
1. Jarviz Java庫
此Java庫使用自定義類載入器掃描二進位制工件的Java 位元組碼,並生成依賴關係耦合資料作為JSON Lines(.jsonl)檔案。當前支援JAR和WAR工件格式。為了找到依賴關係耦合,Jarviz使用靜態位元組碼分析檢查操作碼。

2. Jarviz圖形工具
Jarviz圖形工具是一個Node.js應用程式,旨在為Java應用程式繪製依賴關係耦合資料。可以從Jarviz Java庫生成作為JSON Lines(.jsonl)輸入檔案提供的依賴關係耦合資料。

3. Jarviz CLI工具
Jarviz CLI是為* nix系統設計的命令列工具,用於對Java應用程式執行依賴關係分析。內部使用Jarviz Java庫和Jarviz Graph Tool。大多數使用者只需要使用Jarviz CLI工具來查詢應用程式耦合。

https://github.com/ExpediaGroup/jarviz

 

相關文章