[Soot-list] Exception Analysis
irem at nada.kth.se
irem at nada.kth.se
Wed Oct 17 10:18:51 EDT 2007
Hello!
I am using soot to perform control flow analysis. I use call graph and
control flow graph given by soot to produce a special kind of control flow
graph in my own format. I am using soot 2.2.4 version.
In order to check if an exceptional termination is possible at a program
point, I use getExceptionDests to get the types of exceptions that can be
thrown by the Unit in question in the ExceptionalUnitGraph. My problem is
that it appears as if *all* program points can raise an exception of type
Throwable. This in turn makes my own analysis imprecise.
For instance:
public void method(boolean b){
try {
if (b)
{int a = 3/0;}
else
{throw new ArithmeticException();}
}
catch (ArithmeticException e){
method(false);
}
}
For this example, at certain places I would have expected only
ArithmeticException to be raised.
I am wondering if I am skipping something here or if the analysis is meant
to be this way.
Thanks,
Irem Aktug
KTH, Sweden
More information about the Soot-list
mailing list