Program: 88837
Project: 88837
Buggy source:
/** 
 * Applies the transformations corresponding to the given options. 
 */
public void applyPhaseOptions(JimpleBody b,Map opts){
  JBOptions options=new JBOptions(opts);
  if (options.verbatim())   return;
  if (options.use_original_names())   PackManager.v().setPhaseOptionIfUnset("String_Node_Str","String_Node_Str");
  if (!options.no_splitting()) {
    if (Main.v().opts.time())     Timers.v().splitTimer.start();
    PackManager.v().getTransform("String_Node_Str").apply(b);
    if (Main.v().opts.time())     Timers.v().splitTimer.end();
    if (!options.no_typing()) {
      if (options.aggregate_all_locals()) {
        PackManager.v().getTransform("String_Node_Str").apply(b);
        PackManager.v().getTransform("String_Node_Str").apply(b);
      }
 else       if (!options.no_aggregating()) {
        PackManager.v().getTransform("String_Node_Str").apply(b);
        PackManager.v().getTransform("String_Node_Str").apply(b);
      }
      if (Main.v().opts.time())       Timers.v().assignTimer.start();
      PackManager.v().getTransform("String_Node_Str").apply(b);
      if (Main.v().opts.time())       Timers.v().assignTimer.end();
      if (typingFailed(b))       throw new RuntimeException("String_Node_Str");
    }
  }
  if (options.aggregate_all_locals()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
 else   if (!options.no_aggregating()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (!options.use_original_names())   PackManager.v().getTransform("String_Node_Str").apply(b);
 else {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (!options.no_cp()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (options.pack_locals()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (!options.no_nop_elimination())   PackManager.v().getTransform("String_Node_Str").apply(b);
  if (!options.no_unreachable_code_elimination())   PackManager.v().getTransform("String_Node_Str").apply(b);
  if (soot.Main.v().opts.time())   Timers.v().stmtCount+=b.getUnits().size();
}

Fixed version (ground truth):
/** 
 * Applies the transformations corresponding to the given options. 
 */
private void applyPhaseOptions(JimpleBody b,Map opts){
  JBOptions options=new JBOptions(opts);
  if (options.verbatim())   return;
  if (options.use_original_names())   PackManager.v().setPhaseOptionIfUnset("String_Node_Str","String_Node_Str");
  if (!options.no_splitting()) {
    if (Main.v().opts.time())     Timers.v().splitTimer.start();
    PackManager.v().getTransform("String_Node_Str").apply(b);
    if (Main.v().opts.time())     Timers.v().splitTimer.end();
    if (!options.no_typing()) {
      if (options.aggregate_all_locals()) {
        PackManager.v().getTransform("String_Node_Str").apply(b);
        PackManager.v().getTransform("String_Node_Str").apply(b);
      }
 else       if (!options.no_aggregating()) {
        PackManager.v().getTransform("String_Node_Str").apply(b);
        PackManager.v().getTransform("String_Node_Str").apply(b);
      }
      if (Main.v().opts.time())       Timers.v().assignTimer.start();
      PackManager.v().getTransform("String_Node_Str").apply(b);
      if (Main.v().opts.time())       Timers.v().assignTimer.end();
      if (typingFailed(b))       throw new RuntimeException("String_Node_Str");
    }
  }
  if (options.aggregate_all_locals()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
 else   if (!options.no_aggregating()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (!options.use_original_names())   PackManager.v().getTransform("String_Node_Str").apply(b);
 else {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (!options.no_cp()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (options.pack_locals()) {
    PackManager.v().getTransform("String_Node_Str").apply(b);
  }
  if (!options.no_nop_elimination())   PackManager.v().getTransform("String_Node_Str").apply(b);
  if (!options.no_unreachable_code_elimination())   PackManager.v().getTransform("String_Node_Str").apply(b);
  if (soot.Main.v().opts.time())   Timers.v().stmtCount+=b.getUnits().size();
}