【发布时间】:2021-06-23 18:50:59
【问题描述】:
我需要为 Java 中的以下任务选择一个框架:
- 提取控制流图
- 过程间和过程内分析
- 数据流分析
- PDG
- 不同的源代码分析任务(如方法体提取、测试代码提取)
哪个框架适合我的任务?
我遇到了很多不同的工具,除了 wala、soot 以及 JavaParser、Spoon 等等。
我应该选择哪个框架?理想情况下,我想采用一种更易于使用的工具。此外,我的期望是,Java 工具的普及应该已经存在于所有这些任务中。还是我的理解有误?
如果有人请我指出不同的资源等,我将不胜感激。
【问题讨论】:
-
JavaParser 和 Spoon 用于 Java source 代码; Soot 用于 Java 字节码(多年未维护的源代码解析)。其他的我不确定。
-
@JMax 不幸的是,您对多年未维护的 Soot 的看法是不对的。请查看其 GitHub 页面 (github.com/soot-oss/soot)。当它在 McGill 开发/维护时,您可能会感到困惑。目前,它由帕德博恩大学维护。
-
@Ekin 我说的是读取 Java 源代码的 Soot 部分。读取/写入Java或Android字节码的部分还在维护,但读取Java源代码的部分或多或少无法使用。
标签: soot control-flow-graph inria-spoon wala