能够自动分析出Java应用中相互依赖程度的工具:Jarviz -Expedia

20-04-11 banq

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

 

    

1
猜你喜欢