java - 如何从 Java 中的字节码生成程序依赖图 (PDG)

标签 java code-analysis static-analysis static-code-analysis

<分区>

我想从 Java 字节码生成程序依赖图 (PDG) 以进行进一步的程序分析。由于这是旧技术(paper 来自 87 年)并且可能是众所周知的技术,我认为合适的工具很容易获得——但是我找不到它们。

事实上,广泛的搜索只找到了几个结果:

  • The Bandera project 2006 年被废弃。
  • The Indus project自 2007 年以来似乎没有得到任何努力,除了它在 2009 年被开源。
  • The Moose JEE Project这似乎很新,因为基本上没有任何文档。
  • Soot框架,它提供了一些类(参见 JavaDoc )但似乎缺少生成的实现。事实上,Soot 是 Bandera 和 Indus 的基础。

所以我的问题如下:是否有任何有效的和维护的实现?有没有人有上述项目之一的经验?你会推荐什么?

非常感谢您的输入,非常感谢!

最佳答案

我建议您查看 WALA ,一个从 Java 字节码文件中提取 SSA 表示的系统。

我没有这方面的经验,但已经审阅了许多看起来经过深思熟虑的软件工程技术论文,并且显然使用 WALA 作为他们研究的基础。

关于java - 如何从 Java 中的字节码生成程序依赖图 (PDG),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104170/

相关文章:

java - java 二维数组升序冒泡排序

java - 将 Perl 正则表达式转换为 POSIX 正则表达式

JavaFX mp3音频、mp4音频、文本数据叠加

c++ - 'WinMain' 的注释不一致

php - 用于从代码文件中提取 php 函数的 PHP 正则表达式

java - Eclipse 中的 Maven 依赖项和引用库有什么区别?

c# - 生成的代码 (xsd.exe) 的 SuppressMessage 编译器警告 CS1591

algorithm - 什么是 "naive"算法,什么是 "closed - form"解法?

static-analysis - 开源静态代码分析模型

java - 用于提取方法/注释的 Java 源代码静态代码解析器