Program: 70474
Project: 70474
Buggy source:
private static String[] getStartCommand(NIOWorkerNode node,int workerPort){
  String libPath=node.getLibPath();
  String appDir=node.getAppDir();
  String[] jvmFlags=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
  String workingDir=node.getWorkingDir();
  String cp=(System.getProperty(ITConstants.IT_WORKER_CP) != null && System.getProperty(ITConstants.IT_WORKER_CP).compareTo("String_Node_Str") != 0) ? System.getProperty(ITConstants.IT_WORKER_CP) : "String_Node_Str";
  String installDir=node.getInstallDir();
  String workerDebug=Boolean.toString(Logger.getLogger(Loggers.WORKER).isDebugEnabled());
  String storageConf=System.getProperty(ITConstants.IT_STORAGE_CONF);
  if ((storageConf == null) || (storageConf.compareTo("String_Node_Str") == 0) || (storageConf.compareTo("String_Node_Str") == 0)) {
    storageConf="String_Node_Str";
    logger.warn("String_Node_Str");
  }
  String executionType=System.getProperty(ITConstants.IT_TASK_EXECUTION);
  String[] cmd=new String[19 + jvmFlags.length];
  cmd[0]=installDir + (installDir.endsWith(File.separator) ? "String_Node_Str" : File.separator) + STARTER_SCRIPT_PATH+ STARTER_SCRIPT_NAME;
  cmd[1]=libPath.isEmpty() ? "String_Node_Str" : libPath;
  cmd[2]=appDir.isEmpty() ? "String_Node_Str" : appDir;
  cmd[3]=cp.isEmpty() ? "String_Node_Str" : cp;
  cmd[4]=String.valueOf(jvmFlags.length);
  for (int i=0; i < jvmFlags.length; ++i) {
    cmd[5 + i]=jvmFlags[i];
  }
  int nextPosition=5 + jvmFlags.length;
  cmd[nextPosition++]=workerDebug;
  cmd[nextPosition++]=(node.getLimitOfTasks() >= 0) ? String.valueOf(node.getLimitOfTasks()) : String.valueOf(NUM_THREADS);
  cmd[nextPosition++]=String.valueOf(NIOAdaptor.MAX_SEND_WORKER);
  cmd[nextPosition++]=String.valueOf(NIOAdaptor.MAX_RECEIVE_WORKER);
  cmd[nextPosition++]=node.getName();
  cmd[nextPosition++]=String.valueOf(workerPort);
  cmd[nextPosition++]=String.valueOf(NIOAdaptor.MASTER_PORT);
  cmd[nextPosition++]=DEPLOYMENT_ID;
  cmd[nextPosition++]=workingDir;
  cmd[nextPosition++]=node.getInstallDir();
  cmd[nextPosition++]=String.valueOf(tracing_level);
  if (tracing) {
    Integer hostId=NIOTracer.registerHost(node.getName(),NUM_THREADS);
    cmd[nextPosition++]=String.valueOf(hostId.toString());
  }
 else {
    cmd[nextPosition++]="String_Node_Str";
  }
  cmd[nextPosition++]=storageConf;
  cmd[nextPosition++]=executionType;
  return cmd;
}

Fixed version (ground truth):
private static String[] getStartCommand(NIOWorkerNode node,int workerPort){
  String libPath=node.getLibPath();
  String appDir=node.getAppDir();
  String workerJVMflags=(System.getProperty(ITConstants.IT_WORKER_JVM_OPTS) != null) ? System.getProperty(ITConstants.IT_WORKER_JVM_OPTS) : "String_Node_Str";
  String[] jvmFlags=workerJVMflags.split("String_Node_Str");
  String workingDir=node.getWorkingDir();
  String cp=(System.getProperty(ITConstants.IT_WORKER_CP) != null && System.getProperty(ITConstants.IT_WORKER_CP).compareTo("String_Node_Str") != 0) ? System.getProperty(ITConstants.IT_WORKER_CP) : "String_Node_Str";
  String installDir=node.getInstallDir();
  String workerDebug=Boolean.toString(Logger.getLogger(Loggers.WORKER).isDebugEnabled());
  String storageConf=System.getProperty(ITConstants.IT_STORAGE_CONF);
  if ((storageConf == null) || (storageConf.compareTo("String_Node_Str") == 0) || (storageConf.compareTo("String_Node_Str") == 0)) {
    storageConf="String_Node_Str";
    logger.warn("String_Node_Str");
  }
  String executionType=System.getProperty(ITConstants.IT_TASK_EXECUTION);
  String[] cmd=new String[19 + jvmFlags.length];
  cmd[0]=installDir + (installDir.endsWith(File.separator) ? "String_Node_Str" : File.separator) + STARTER_SCRIPT_PATH+ STARTER_SCRIPT_NAME;
  cmd[1]=libPath.isEmpty() ? "String_Node_Str" : libPath;
  cmd[2]=appDir.isEmpty() ? "String_Node_Str" : appDir;
  cmd[3]=cp.isEmpty() ? "String_Node_Str" : cp;
  cmd[4]=String.valueOf(jvmFlags.length);
  for (int i=0; i < jvmFlags.length; ++i) {
    cmd[5 + i]=jvmFlags[i];
  }
  int nextPosition=5 + jvmFlags.length;
  cmd[nextPosition++]=workerDebug;
  cmd[nextPosition++]=(node.getLimitOfTasks() >= 0) ? String.valueOf(node.getLimitOfTasks()) : String.valueOf(NUM_THREADS);
  cmd[nextPosition++]=String.valueOf(NIOAdaptor.MAX_SEND_WORKER);
  cmd[nextPosition++]=String.valueOf(NIOAdaptor.MAX_RECEIVE_WORKER);
  cmd[nextPosition++]=node.getName();
  cmd[nextPosition++]=String.valueOf(workerPort);
  cmd[nextPosition++]=String.valueOf(NIOAdaptor.MASTER_PORT);
  cmd[nextPosition++]=DEPLOYMENT_ID;
  cmd[nextPosition++]=workingDir;
  cmd[nextPosition++]=node.getInstallDir();
  cmd[nextPosition++]=String.valueOf(tracing_level);
  if (tracing) {
    Integer hostId=NIOTracer.registerHost(node.getName(),NUM_THREADS);
    cmd[nextPosition++]=String.valueOf(hostId.toString());
  }
 else {
    cmd[nextPosition++]="String_Node_Str";
  }
  cmd[nextPosition++]=storageConf;
  cmd[nextPosition++]=executionType;
  return cmd;
}