<分区>
我需要一个用于 Java 的静态代码分析器,它可以生成关于以下内容的输出文件:类的关系(也包括继承关系)、类的字段、方法签名和方法调用层次结构。
重要的一点是分析数据可以(轻松)由程序处理。 (我需要分析一种大学自动“重构”工具。)
<分区>
我需要一个用于 Java 的静态代码分析器,它可以生成关于以下内容的输出文件:类的关系(也包括继承关系)、类的字段、方法签名和方法调用层次结构。
重要的一点是分析数据可以(轻松)由程序处理。 (我需要分析一种大学自动“重构”工具。)
最佳答案
JastAdd是一个很好的源代码级分析器(以及更多)。
不过,您可能更喜欢在字节码级别上工作。这更简单,更快,提供您请求的所有信息,无需源代码(显然)并且可以与其他基于 JVM 的语言一起工作。为此,Soot或 ASM是一个不错的选择。
已更新
当然,对于字节码,您不能真正执行源代码级重构(尽管您可以进行字节码修改)。
为了完整性,您可能需要结合这两种方法。
关于java - 推荐使用哪种 Java 静态代码分析器来创建报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4148815/