Program: 18382
Project: 18382
Buggy source:
public void parseCmdLineArguments(String[] args){
  boolean errorOccured=false;
  if (args != null && args.length > 0) {
    for (int i=0; i < args.length; i++) {
      if (args[i].equals(INPUT_OPTION_EQUATIONFILE)) {
        i++;
        if (i < args.length) {
          equationFileName=args[i];
          if (!isBaseDirectoryName)           equationBaseDirectoryName=getDirectoryName(new File(equationFileName)) + File.separator;
          equationFileName=equationFileName.replace("String_Node_Str",File.separator);
          equationFileName=equationFileName.replace("String_Node_Str",File.separator);
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_EQUATIONFILE);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_BASE_DIRECTORY)) {
        i++;
        if (i < args.length) {
          equationBaseDirectoryName=args[i];
          equationBaseDirectoryName=equationBaseDirectoryName.replace("String_Node_Str",File.separator);
          equationBaseDirectoryName=equationBaseDirectoryName.replace("String_Node_Str",File.separator);
          isBaseDirectoryName=true;
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_BASE_DIRECTORY);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_OUTPUT_DIRECTORY)) {
        i++;
        if (i < args.length) {
          outputDirectoryName=args[i];
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_OUTPUT_DIRECTORY);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_HELP)) {
        printHelp(false);
      }
 else {
        errorOccured=true;
      }
    }
  }
 else {
    errorOccured=true;
  }
  if (errorOccured) {
    printHelp(errorOccured);
  }
}

Fixed version (ground truth):
public void parseCmdLineArguments(String[] args){
  boolean errorOccured=false;
  if (args != null && args.length > 0) {
    for (int i=0; i < args.length; i++) {
      if (args[i].equals(INPUT_OPTION_EQUATIONFILE)) {
        i++;
        if (i < args.length) {
          equationFileName=args[i];
          if (!isBaseDirectoryName)           equationBaseDirectoryName=getDirectoryName(new File(equationFileName)) + File.separator;
          equationFileName=equationFileName.replace("String_Node_Str",File.separator);
          equationFileName=equationFileName.replace("String_Node_Str",File.separator);
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_EQUATIONFILE);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_BASE_DIRECTORY)) {
        i++;
        if (i < args.length) {
          equationBaseDirectoryName=args[i];
          equationBaseDirectoryName=equationBaseDirectoryName.replace("String_Node_Str",File.separator);
          equationBaseDirectoryName=equationBaseDirectoryName.replace("String_Node_Str",File.separator);
          isBaseDirectoryName=true;
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_BASE_DIRECTORY);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_OUTPUT_DIRECTORY)) {
        i++;
        if (i < args.length) {
          outputDirectoryName=args[i];
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_OUTPUT_DIRECTORY);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_PREPROCESS_FILES)) {
        i++;
        if (i < args.length) {
          preprocessFiles=Boolean.parseBoolean(args[i]);
        }
 else {
          System.out.println("String_Node_Str" + INPUT_OPTION_PREPROCESS_FILES);
          errorOccured=true;
        }
      }
 else       if (args[i].equals(INPUT_OPTION_HELP)) {
        printHelp(false);
      }
 else {
        errorOccured=true;
      }
    }
  }
 else {
    errorOccured=true;
  }
  if (errorOccured) {
    printHelp(errorOccured);
  }
}