Skip to content

Class loading in Soot

Eric Bodden edited this page Oct 22, 2013 · 4 revisions

These are some notes on how class loading / Jimplification works in Soot 2.5.*

Loading Bodies

Method bodies are loaded at the following locations:

  • If -w is enabled: In soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod, for every method that is deemed to be reachable in the call graph, starting from the given entry points.
  • In any case: In soot.PackManager.retrieveAllBodies for all application classes. If -w is given with a single argument class then this will only load the static initializer of this class.
  • If pre-jimplify is on for Spark then in soot.jimple.spark.builder.ContextInsensitiveBuilder.preJimplify. This will
Clone this wiki locally