java字节码和过程间数据流分析框架的上下文敏感调用图?

Posted

技术标签:

【中文标题】java字节码和过程间数据流分析框架的上下文敏感调用图?【英文标题】:context sensitive call graph for java bytecode and interprocedural dataflow analysis framework? 【发布时间】:2013-04-21 16:39:54 【问题描述】:

在我的项目中,我有两个问题需要解决。

1: 我需要一个上下文相关的 java 调用图(字节码)。 这里的上下文就是方法的调用栈,即对于同一个方法的不同调用点, 调用图包括方法的两个副本,以区分不同的调用点。 我知道 Paddle 和 Soot 可以做到这一点,但是 Paddle 使用的库仅在 win32 上可用,并且我使用 Win64 来获取大量内存(在我的项目中是必需的)。 wala 可以生成这种上下文相关的调用图吗? 我应该使用什么工具?

2:我想在我的项目中使用跨过程数据流分析框架。 由于我不关注这个话题,我不知道哪个是最合适的工具。 我知道 Soot 已经实现了 IFDS/IDE 框架(RHS algorithm popl 1995),但它不是上下文敏感的。 WALA 也实现了这一点,我正在对此进行调查。 我想知道是否存在 Java 的过程间数据流分析框架的其他实现。也许 jChord 也适合我。

有人可以给我一些建议吗? 谢谢你。 学生波普尔

【问题讨论】:

【参考方案1】:

我已经使用 WALA 来实现这一点。

【讨论】:

以上是关于java字节码和过程间数据流分析框架的上下文敏感调用图?的主要内容,如果未能解决你的问题,请参考以下文章

JVM:深入分析Java字节码-下

解析Java类和对象的初始化过程

结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程

Java字节码 小结

学习 Java 字节码和 JVM

在上下文(非)敏感分析中,“上下文”到底是啥意思?