Program: 186877
Project: 186877
Buggy source:
private Map<CallString,Map<Location,ValueMapping>> handleNative(MethodGen method,Context context,Map<CallString,Map<Location,ValueMapping>> input,Map<CallString,Map<Location,ValueMapping>> result){
  String methodId=method.getClassName() + "String_Node_Str" + method.getName()+ method.getSignature();
  Map<Location,ValueMapping> in=input.get(context.callString);
  Map<Location,ValueMapping> out=new HashMap<Location,ValueMapping>();
  if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr - 1),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr - 2) {
        out.put(l,in.get(l));
      }
    }
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr - 1),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
  }
 else   if (methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr - 1),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    for (Iterator<Location> i=in.keySet().iterator(); i.hasNext(); ) {
      Location l=i.next();
      if (l.stackLoc < context.stackPtr - 3) {
        out.put(l,in.get(l));
      }
    }
  }
 else {
    System.err.println("String_Node_Str" + methodId);
    System.exit(-1);
  }
  result.put(context.callString,out);
  return result;
}

Fixed version (ground truth):
@SuppressWarnings({"String_Node_Str"}) private Map<CallString,Map<Location,ValueMapping>> handleNative(MethodGen method,Context context,Map<CallString,Map<Location,ValueMapping>> input,Map<CallString,Map<Location,ValueMapping>> result){
  String methodId=method.getClassName() + "String_Node_Str" + method.getName()+ method.getSignature();
  Map<Location,ValueMapping> in=input.get(context.callString);
  Map<Location,ValueMapping> out=new HashMap<Location,ValueMapping>();
  if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr - 1),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")|| methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr - 2) {
        out.put(l,in.get(l));
      }
    }
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr - 1),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
  }
 else   if (methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr - 1) {
        out.put(l,in.get(l));
      }
    }
    out.put(new Location(context.stackPtr - 1),new ValueMapping());
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    for (    Location l : in.keySet()) {
      if (l.stackLoc < context.stackPtr - 3) {
        out.put(l,in.get(l));
      }
    }
  }
 else {
    System.err.println("String_Node_Str" + methodId);
    System.exit(-1);
  }
  result.put(context.callString,out);
  return result;
}