Program: 186869
Project: 186869
Buggy source:
private Map<CallString,SymbolicAddressMap> handleNative(MethodInfo method,Context context,ContextMap<CallString,SymbolicAddressMap> input,ContextMap<CallString,SymbolicAddressMap> retval){
  String methodId=method.getSignature().toString();
  SymbolicAddressMap in=input.get(context.callString);
  SymbolicAddressMap out;
  int nextStackPtr=context.stackPtr - 1;
  if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 2);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
    out.putStack(context.stackPtr - 1,bsFactory.top());
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr + 1);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 2);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 1);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 3);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 2);
    BoundedSet<SymbolicAddress> joined=in.getStack(context.stackPtr - 3).join(in.getStack(context.stackPtr - 2));
    out.putStack(context.stackPtr - 3,joined);
  }
 else {
    out=null;
    System.err.println("String_Node_Str" + methodId);
    System.exit(-1);
  }
  retval.put(context.callString,out);
  return retval;
}

Fixed version (ground truth):
@SuppressWarnings({"String_Node_Str"}) private Map<CallString,SymbolicAddressMap> handleNative(MethodInfo method,Context context,ContextMap<CallString,SymbolicAddressMap> input,ContextMap<CallString,SymbolicAddressMap> retval){
  String methodId=method.getSignature().toString();
  SymbolicAddressMap in=input.get(context.callString);
  SymbolicAddressMap out;
  int nextStackPtr=context.stackPtr - 1;
  if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 2);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str") || methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
    out.putStack(context.stackPtr - 1,bsFactory.top());
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr + 1);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 2);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 1);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 3);
  }
 else   if (methodId.equals("String_Node_Str")) {
    out=in.cloneFilterStack(nextStackPtr - 2);
    BoundedSet<SymbolicAddress> joined=in.getStack(context.stackPtr - 3).join(in.getStack(context.stackPtr - 2));
    out.putStack(context.stackPtr - 3,joined);
  }
 else {
    out=null;
    System.err.println("String_Node_Str" + methodId);
    System.exit(-1);
  }
  retval.put(context.callString,out);
  return retval;
}