Program: 88670
Project: 88670
Buggy source:
/** 
 * generates a new soot local given the type
 */
public soot.Local generateLocal(soot.Type type){
  String name="String_Node_Str";
  if (type instanceof soot.IntType) {
    while (true) {
      name=nextIntName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.ByteType) {
    while (true) {
      name=nextByteName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.ShortType) {
    while (true) {
      name=nextShortName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.BooleanType) {
    while (true) {
      name=nextBooleanName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.VoidType) {
    while (true) {
      name=nextVoidName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.CharType) {
    while (true) {
      name=nextIntName();
      if (!bodyContainsLocal(name))       break;
    }
    type=soot.CharType.v();
  }
 else   if (type instanceof soot.DoubleType) {
    while (true) {
      name=nextDoubleName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.FloatType) {
    while (true) {
      name=nextFloatName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.LongType) {
    while (true) {
      name=nextLongName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.RefLikeType) {
    while (true) {
      name=nextRefLikeTypeName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else {
    throw new RuntimeException("String_Node_Str");
  }
  return createLocal(name,type);
}

Fixed version (ground truth):
/** 
 * generates a new soot local given the type
 */
public soot.Local generateLocal(soot.Type type){
  String name="String_Node_Str";
  if (type instanceof soot.IntType) {
    while (true) {
      name=nextIntName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.ByteType) {
    while (true) {
      name=nextByteName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.ShortType) {
    while (true) {
      name=nextShortName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.BooleanType) {
    while (true) {
      name=nextBooleanName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.VoidType) {
    while (true) {
      name=nextVoidName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.CharType) {
    while (true) {
      name=nextCharName();
      if (!bodyContainsLocal(name))       break;
    }
    type=soot.CharType.v();
  }
 else   if (type instanceof soot.DoubleType) {
    while (true) {
      name=nextDoubleName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.FloatType) {
    while (true) {
      name=nextFloatName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.LongType) {
    while (true) {
      name=nextLongName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else   if (type instanceof soot.RefLikeType) {
    while (true) {
      name=nextRefLikeTypeName();
      if (!bodyContainsLocal(name))       break;
    }
  }
 else {
    throw new RuntimeException("String_Node_Str");
  }
  return createLocal(name,type);
}