Search code examples
javaexceptionsoot

How to compute, for each method, the set of exceptions that method may throw, including runtime exceptions?


I'm trying to implement an intra-procedural analysis that computes, for each method, the set of exceptions that method may throw, including runtime exceptions that are explicitly thrown by means of a throw statement.

So far, I'm completely lost on how to start it with SOOT. Anyone can give me a first hint?


Solution

  • You should look at implementations of ThrowsAnalysis. The analyses can be parameterized to make different assumptions about which statement can throw which exceptions. This analysis is intra-procedural, however, i.e., will have to make coarse assumptions about method calls. If you want to model method calls precisely then I recommend crafting an inter-procedural analysis with Heros.

    Cheers, Eric