Java调用图的静态分析

2022-09-01 11:01:12

我想做的是扫描一组Java类,并跟踪来自抽象类的特定方法的所有方法调用,并在该上下文中构建执行某些操作的所有代码的列表(在这种情况下,实例化某个类的实例)。我想知道行号和提供的参数。

我已经开始研究BCEL,但它似乎没有内置调用图跟踪?我对编写自己的代码犹豫不决,因为获得重载、类型签名和多态调度权限可能很棘手。

我半信半疑地期望存在一个工具或示例代码,但我还没有找到任何东西。这真的感觉就像我即将重新发明一个轮子。但是如果我这样做,它将是一个开源的轮子,可以在GitHub上使用;-)

PS:你会发现现有的问题“如何生成Java调用图”,因为它听起来相同,但它根本不是我需要的。


答案 1

您可以使用 java-callgraph 工具套件为 Java 创建足够准确的静态和动态调用。


答案 2

您可以将DoxygenGraphviz一起使用。它易于安装和使用。


推荐