[Soot-list] Exception Analysis

irem irem at nada.kth.se
Mon Oct 22 13:50:12 EDT 2007


The analysis worked this way just fine. Now what I wonder is vmErrors.
What does this mean? I checked the API spec and there one talks about
VM_ERRORS. I do not know what these mean either.

Thanks,

Irem
KTH, Sweden

On Wed, 2007-10-17 at 12:45 -0600, John Jorgensen wrote:
> >>>>> "eric.bodden" == Eric Bodden <eric.bodden at mail.mcgill.ca> writes:
> 
>     eric.bodden> In fact it is true that *certain*
>     eric.bodden> exceptions can be thrown at every single
>     eric.bodden> statement, e.g. exceptions of type
>     eric.bodden> OutOfMemoryError. The default exception analysis
>     eric.bodden> encodes this soundly.
> 
> Actually (in the spirit of pedantry) *all* exceptions have the potential to be
> thrown at every single statement, since, to quote the
> documentation of PedanticThrowAnalysis:
> 
>   the deprecated Thread.stop(Throwable) method allows one thread to
>   cause any Throwable it wants to be thrown in another thread,
>   meaning that all Throwables may arrive asynchronously from the
>   perspective of the victim thread
> 
>     eric.bodden> There is a constructor
>     eric.bodden> ExceptionalUnitGraph(Body,ThrowAnalysis) that
>     eric.bodden> you can use to create an exceptional unit graph
>     eric.bodden> with a "real" throw analysis. The default is a
>     eric.bodden> pedantic throw analysis, which causes your
>     eric.bodden> problems:
> 
> If I remember correctly, if you're calling your analyses via
> soot.Main (rather than using soot as a library), there are
> command-line options to change the default behaviour of the
> ExceptionalUnitGraph constructor; see the "-throw-analysis",
> "-omit-excepting-unit-edges", and "-trim-cfgs" options in
> 
>   http://www.sable.mcgill.ca/soot/tutorial/usage/index.html
> 
> (or "soot --help").  You probably want "-trim-cfgs".



More information about the Soot-list mailing list