[Soot-list] Heros visualize exploded graph

Eric Bodden eric.bodden at ec-spride.de
Mon Jan 21 02:32:38 EST 2013


Hi Marc-Andre.

> I would like to visualize my exploded graph - just to make sure my data
> flow functions are good.
>
> I don't see any options for that right now. Did anyone implement anything?
>
> I am guessing that we are running close to Graphviz' limits, so an
> export to .dot format may not be ideal.

I have started a project to that end. It allows you to run Heros
directly through an Eclipse run configuration. When executing, it will
then draw arrows directly as overlays over the code. I have actually
announced this as a thesis topic (see here:
http://www.ec-spride.tu-darmstadt.de/lehre_1/abschlussarbeitdetails_2176.en.jsp)
but I have not found a student yet. I was thinking of proposing this
as a GSOC project. But if you would like to help out, you are most
welcome to make contributions in this space. I think finding a *good*
visualization will be challenging.

> Also, I don't see any easy way to traverse the exploded graph with the
> results given by IFDSSolver. It seems to me that, if I want to find
> everywhere a given fact is true, I need to manually pick the seeds and
> traverse the interprocedural cfg, Unit afer Unit. It sounds like
> duplicating the work IFDSSolver already did :) Is there some debug APIs
> that would help anywhere?

Here's a trick I play in our taint analysis: Whenever the abstract
domain hits a certain value I want to report an error. For that
purpose I just extended the flow function to fill an auxiliary data
structure with those code locations. If they are few enough then this
is quite efficient.

Eric


More information about the Soot-list mailing list