[Soot-list] Exception and Method Analysis

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Fri Feb 11 05:14:35 EST 2011


Hi Richard.

I may be wrong but to the best of my knowledge there's no such
analysis already built into Soot. But there's all the necessary
component, of course. There's a ThrowsAnalysis that can tell you which
exceptions a statement may throw. Then of course there are method
signatures that tell you which checked exceptions a method may throw.
You can accumulate these using a call graph to get results for the
transitive closure of a method call.

So in a nutshell I think this will require a bit of manual labor but
it should certainly be doable. Whether it's efficient in the end
depends on the perspective I would say. Whole-program analyses like
the one you are proposing tend to take a few minutes for realistic
programs. That's just a matter of intrinsic complexity of the problem.

Eric

On 11 February 2011 03:34, Richard Warburton
<richard.warburton at gmail.com> wrote:
> Hello soot list,
>
> I was wondering what analyses were available for finding out about
> interprocedural exception throws.  Specifically I'm interested in
> obtaining a list of exceptions thrown from a method m - including
> those thrown by methods called by m and pruned by trap handlers
> appropriately.  I appreciate that a sophisticated version of this
> analysis would also probably depend on things like points-to analysis
> and Class Hierachy Analysis, but I'm wondering what options I have in
> terms of precision/performance tradeoff based on things already
> implemented in soot.  I imagine that the result of such an analysis
> might be something like an interprocedural control flow graph with
> exceptional edges and traps if that helps.
>
> I'm sorry if this is documented somewhere, but I couldn't find a
> complete list of soot analyses.
>
> kind regards,
>
>  Richard
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
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