Program: 85190
Project: 85190
Buggy source:
public static void checkAndRemoveDefault(SootClass s){
  debug("String_Node_Str" + s.getName());
  List methods=s.getMethods();
  Iterator it=methods.iterator();
  List<SootMethod> constructors=new ArrayList<SootMethod>();
  while (it.hasNext()) {
    SootMethod method=(SootMethod)it.next();
    debug("String_Node_Str" + method.getName());
    if (method.getName().indexOf("String_Node_Str") > -1) {
      constructors.add(method);
    }
  }
  if (constructors.size() != 1) {
    debug("String_Node_Str");
    return;
  }
  SootMethod constructor=constructors.get(0);
  if (constructor.getParameterCount() != 0) {
    debug("String_Node_Str");
    return;
  }
  debug("String_Node_Str");
  if (!constructor.hasActiveBody()) {
    debug("String_Node_Str");
    return;
  }
  Body body=constructor.getActiveBody();
  Chain units=((DavaBody)body).getUnits();
  if (units.size() != 1) {
    debug("String_Node_Str");
    return;
  }
  ASTNode AST=(ASTNode)units.getFirst();
  if (!(AST instanceof ASTMethodNode)) {
    throw new RuntimeException("String_Node_Str");
  }
  ASTMethodNode methodNode=(ASTMethodNode)AST;
  debug("String_Node_Str");
  List<Object> subBodies=methodNode.get_SubBodies();
  if (subBodies.size() != 1) {
    debug("String_Node_Str");
    return;
  }
  List methodBody=(List)subBodies.get(0);
  if (methodBody.size() != 0) {
    debug("String_Node_Str");
    return;
  }
  debug("String_Node_Str");
  if (((DavaBody)body).get_ConstructorExpr().getArgCount() != 0) {
    debug("String_Node_Str");
    return;
  }
  debug("String_Node_Str");
  s.removeMethod(constructor);
}

Fixed version (ground truth):
public static void checkAndRemoveDefault(SootClass s){
  debug("String_Node_Str" + s.getName());
  List methods=s.getMethods();
  Iterator it=methods.iterator();
  List<SootMethod> constructors=new ArrayList<SootMethod>();
  while (it.hasNext()) {
    SootMethod method=(SootMethod)it.next();
    debug("String_Node_Str" + method.getName());
    if (method.getName().indexOf("String_Node_Str") > -1) {
      constructors.add(method);
    }
  }
  if (constructors.size() != 1) {
    debug("String_Node_Str");
    return;
  }
  SootMethod constructor=constructors.get(0);
  if (constructor.getParameterCount() != 0) {
    debug("String_Node_Str");
    return;
  }
  debug("String_Node_Str");
  if (!constructor.hasActiveBody()) {
    debug("String_Node_Str");
    return;
  }
  if (!constructor.isPublic()) {
    debug("String_Node_Str");
    return;
  }
  Body body=constructor.getActiveBody();
  Chain units=((DavaBody)body).getUnits();
  if (units.size() != 1) {
    debug("String_Node_Str");
    return;
  }
  ASTNode AST=(ASTNode)units.getFirst();
  if (!(AST instanceof ASTMethodNode)) {
    throw new RuntimeException("String_Node_Str");
  }
  ASTMethodNode methodNode=(ASTMethodNode)AST;
  debug("String_Node_Str");
  List<Object> subBodies=methodNode.get_SubBodies();
  if (subBodies.size() != 1) {
    debug("String_Node_Str");
    return;
  }
  List methodBody=(List)subBodies.get(0);
  if (methodBody.size() != 0) {
    debug("String_Node_Str");
    return;
  }
  debug("String_Node_Str");
  if (((DavaBody)body).get_ConstructorExpr().getArgCount() != 0) {
    debug("String_Node_Str");
    return;
  }
  debug("String_Node_Str");
  s.removeMethod(constructor);
}