Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要一个用于 Java 的静态代码分析器,它生成一个关于以下内容的输出文件:类的关系(也是继承关系)、类的字段、方法签名和方法调用层次结构。
重要的一点是分析数据可以(容易地)由程序处理。(我需要一种用于大学的自动“重构”工具的分析。)
JastAdd是一个很好的源代码级别分析器(以及更多)。
不过,您可能更喜欢在字节码级别上工作。这更简单,更快,提供您请求的所有信息,无需源代码(显然)和其他基于 JVM 的语言一起工作。为此,Soot或ASM都是不错的选择。
更新
当然,使用字节码您不能真正执行源代码级重构(尽管您可以进行字节码修改)。
为了完整起见,您可能希望将这两种方法结合起来。