[Soot-list] Call graph generation in Soot

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Tue Feb 1 08:35:08 EST 2011


Hi Roberto.

2011/2/1 Roberto Santa Escolástica
<roberto.santaescolastica at kybeleconsulting.com>:
> Hi everyone,
>
> I am evaluating some tools which allow the generation of call graphs and I
> have some doubts about Soot. What I am doing right now is an analysis of
> these tools in order to select the most suitable to the necessities of our
> project. Because of that I will be grateful if someone could answer these
> questions:
>
> Is it possible to export the generated call graph to a specific format?
> (XML, XLS, CSV, TXT, ...)

Certainly. I don't think Soot has support for this out of the box but
supporting any of the above formats should be just a matter of 10
lines or so of code, which you could easily write yourself. You just
need to fetch the call graph and then iterate through all edges,
printing them one by one.

> The final intention of using the tool would be to automatically detect the
> interface elements (for example methods which are used by other
> modules/applications) who have been affected by a change in the software. As
> Soot generates the necessary information to generate a call graph, has it
> any functionality which can detect the interface elements affected by a
> change?

Finding all the possibly affected elements is in general a very hard
research question that requires a very thorough analysis. There's no
such support right now but I also know of no other tool that would
properly support this kind of thing. You could certainly traverse the
call graph, though, to see which methods may have been affected (not
taking data-flow changes into account).

> If not, does it have an API or something similar to operate with the
> call graph?

Sure it does.

Eric

-- 
Dr. Eric Bodden, http://bodden.de/
Principal Investigator in Secure Services at CASED
Coordinator of the CASED Advisory Board of Study Affairs
PostDoc at Software Technology Group, Technische Universität Darmstadt
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt


More information about the Soot-list mailing list