Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to generate a Program Dependence Graph (PDG) from Bytecode in Java [closed]

I want to generate a program dependence graph (PDG) from Java Bytecode for further programmatic analysis. Since this is old (the paper is from '87) and presumably well-known technology, I thought that appropriate tools would be readily available---however I wasn't able to find them.

In fact an extensive search turned up only a few results:

  • The Bandera project which was abandoned in 2006.
  • The Indus project which seems not to have received any effort since 2007, except for it being made Open Source in 2009.
  • The Moose JEE Project which seems to be pretty new as there is basically no documentation whatsoever.
  • And the Soot framework, which provides some classes (see JavaDoc) but seems to lack an implementation for the generation. In fact, Soot is the basis for Bandera and Indus.

So my question is the following: Is there any alive and maintained implementation out there? Does anybody have experience in either one of the aforementioned projects? What would you recommend?

Thank you already for your input, it is highly appreciated!

like image 831
roesslerj Avatar asked Feb 24 '11 11:02

roesslerj


1 Answers

I suggest you check out WALA, a system that extracts SSA representations from java byte code files.

I have no experience with this, but have reviewed a number of software engineering technical papers that seemed well-thought out, and apparantly used WALA as a foundation for their research.

like image 120
Ira Baxter Avatar answered Oct 21 '22 09:10

Ira Baxter