Program: 136007
Project: 136007
Buggy source:
public static void main(String[] args){
  System.out.println("String_Node_Str" + TLCGlobals.versionOfTLC);
  String mainFile=null;
  String traceFile=null;
  boolean deadlock=true;
  String configFile=null;
  int traceDepth=10;
  int traceNum=10;
  boolean noSeed=true;
  long seed=0;
  long aril=0;
  int index=0;
  while (index < args.length) {
    if (args[index].equals("String_Node_Str")) {
      index++;
      if (index >= args.length) {
        printErrorMsg("String_Node_Str");
        return;
      }
      traceFile=args[index++];
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      deadlock=false;
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index >= args.length) {
        printErrorMsg("String_Node_Str");
        return;
      }
      traceDepth=Integer.parseInt(args[index]);
      index++;
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index >= args.length) {
        printErrorMsg("String_Node_Str");
        return;
      }
      traceNum=Integer.parseInt(args[index]);
      index++;
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        try {
          TLCGlobals.coverageInterval=Integer.parseInt(args[index]) * 60 * 1000;
          if (TLCGlobals.coverageInterval < 0) {
            printErrorMsg("String_Node_Str");
            return;
          }
          index++;
        }
 catch (        Exception e) {
          printErrorMsg("String_Node_Str" + "String_Node_Str" + args[index]);
          return;
        }
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        seed=Long.parseLong(args[index++]);
        noSeed=false;
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        aril=Long.parseLong(args[index++]);
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        configFile=args[index];
        int len=configFile.length();
        if (configFile.startsWith("String_Node_Str",len - 4)) {
          configFile=configFile.substring(0,len - 4);
        }
        index++;
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else {
      if (args[index].charAt(0) == '-') {
        printErrorMsg("String_Node_Str" + args[index]);
        return;
      }
      if (mainFile != null) {
        printErrorMsg("String_Node_Str" + mainFile + "String_Node_Str"+ args[index]);
        return;
      }
      mainFile=args[index++];
      int len=mainFile.length();
      if (mainFile.startsWith("String_Node_Str",len - 4)) {
        mainFile=mainFile.substring(0,len - 4);
      }
    }
  }
  if (mainFile == null) {
    printErrorMsg("String_Node_Str");
    return;
  }
  if (traceFile == null)   traceFile=mainFile + "String_Node_Str";
  if (configFile == null)   configFile=mainFile;
  try {
    RandomGenerator rng=new RandomGenerator();
    if (noSeed) {
      seed=rng.nextLong();
      rng.setSeed(seed);
    }
 else {
      rng.setSeed(seed,aril);
    }
    ToolIO.out.println("String_Node_Str" + seed + "String_Node_Str");
    Simulator simulator=new Simulator(mainFile,configFile,traceFile,deadlock,traceDepth,traceNum,rng,seed,true,null,null);
    simulator.simulate();
  }
 catch (  Exception e) {
    MP.printError(EC.GENERAL,e.getMessage());
  }
}

Fixed version (ground truth):
public static void main(String[] args){
  System.out.println("String_Node_Str" + TLCGlobals.versionOfTLC);
  String mainFile=null;
  String traceFile=null;
  boolean deadlock=true;
  String configFile=null;
  int traceDepth=10;
  int traceNum=10;
  boolean noSeed=true;
  long seed=0;
  long aril=0;
  int index=0;
  while (index < args.length) {
    if (args[index].equals("String_Node_Str")) {
      index++;
      if (index >= args.length) {
        printErrorMsg("String_Node_Str");
        return;
      }
      traceFile=args[index++];
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      deadlock=false;
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index >= args.length) {
        printErrorMsg("String_Node_Str");
        return;
      }
      traceDepth=Integer.parseInt(args[index]);
      index++;
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index >= args.length) {
        printErrorMsg("String_Node_Str");
        return;
      }
      traceNum=Integer.parseInt(args[index]);
      index++;
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        try {
          TLCGlobals.coverageInterval=Integer.parseInt(args[index]) * 60 * 1000;
          if (TLCGlobals.coverageInterval < 0) {
            printErrorMsg("String_Node_Str");
            return;
          }
          index++;
        }
 catch (        Exception e) {
          printErrorMsg("String_Node_Str" + "String_Node_Str" + args[index]);
          return;
        }
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        seed=Long.parseLong(args[index++]);
        noSeed=false;
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        aril=Long.parseLong(args[index++]);
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else     if (args[index].equals("String_Node_Str")) {
      index++;
      if (index < args.length) {
        configFile=args[index];
        int len=configFile.length();
        if (configFile.startsWith("String_Node_Str",len - 4)) {
          configFile=configFile.substring(0,len - 4);
        }
        index++;
      }
 else {
        printErrorMsg("String_Node_Str");
        return;
      }
    }
 else {
      if (args[index].charAt(0) == '-') {
        printErrorMsg("String_Node_Str" + args[index]);
        return;
      }
      if (mainFile != null) {
        printErrorMsg("String_Node_Str" + mainFile + "String_Node_Str"+ args[index]);
        return;
      }
      mainFile=args[index++];
      int len=mainFile.length();
      if (mainFile.startsWith("String_Node_Str",len - 4)) {
        mainFile=mainFile.substring(0,len - 4);
      }
    }
  }
  if (mainFile == null) {
    printErrorMsg("String_Node_Str");
    return;
  }
  if (traceFile == null)   traceFile=mainFile + "String_Node_Str";
  if (configFile == null)   configFile=mainFile;
  try {
    RandomGenerator rng=new RandomGenerator();
    if (noSeed) {
      seed=rng.nextLong();
      rng.setSeed(seed);
    }
 else {
      rng.setSeed(seed,aril);
    }
    ToolIO.out.println("String_Node_Str" + seed + "String_Node_Str");
    Simulator simulator=new Simulator(mainFile,configFile,traceFile,deadlock,traceDepth,traceNum,rng,seed,true,null,null);
    simulator.simulate();
  }
 catch (  Exception e) {
    MP.printError(EC.GENERAL,(e.getMessage() == null) ? e.toString() : e.getMessage());
  }
}