Program: 74190
Project: 74190
Buggy source:
/** 
 * Parse a command-line argument.
 * @param arg The command-line argument to be parsed.
 * @return True if the argument is understood, false otherwise.
 * @exception Exception If something goes wrong.
 */
protected boolean _parseArg(String arg) throws Exception {
  if (arg.equals("String_Node_Str")) {
    _expectingClass=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println(_usage());
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
    _test=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println("String_Node_Str" + VersionAttribute.CURRENT_VERSION + "String_Node_Str");
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
  }
 else {
    if (_expectingClass) {
      _expectingClass=false;
      Class newClass=Class.forName(arg);
      Workspace workspace=new Workspace();
      Class[] argTypes=new Class[1];
      argTypes[0]=workspace.getClass();
      Constructor constructor=newClass.getConstructor(argTypes);
      Object[] args=new Object[1];
      args[0]=workspace;
      constructor.newInstance(args);
    }
 else {
      if (!arg.startsWith("String_Node_Str")) {
        URL inURL=MoMLApplication.specToURL(arg);
        URL base=inURL;
        _parser.reset();
        long startTime=System.currentTimeMillis();
        _toplevel=(CompositeActor)_parser.parse(base,inURL);
        System.out.println("String_Node_Str" + base + "String_Node_Str"+ Manager.timeAndMemory(startTime));
        long statisticsStartTime=System.currentTimeMillis();
        System.out.println(_toplevel.statistics(null));
        long statisticsEndTime=System.currentTimeMillis();
        System.out.println("String_Node_Str" + (statisticsEndTime - statisticsStartTime) + "String_Node_Str");
      }
 else {
        return false;
      }
    }
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Parse a command-line argument.
 * @param arg The command-line argument to be parsed.
 * @return True if the argument is understood, false otherwise.
 * @exception Exception If something goes wrong.
 */
protected boolean _parseArg(String arg) throws Exception {
  if (arg.equals("String_Node_Str")) {
    _expectingClass=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println(_usage());
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
    _test=true;
  }
 else   if (arg.equals("String_Node_Str")) {
    System.out.println("String_Node_Str" + VersionAttribute.CURRENT_VERSION + "String_Node_Str");
    StringUtilities.exit(0);
  }
 else   if (arg.equals("String_Node_Str")) {
  }
 else {
    if (_expectingClass) {
      _expectingClass=false;
      Class<?> newClass=Class.forName(arg);
      Workspace workspace=new Workspace();
      Class[] argTypes=new Class[1];
      argTypes[0]=workspace.getClass();
      Constructor<?> constructor=newClass.getConstructor(argTypes);
      Object[] args=new Object[1];
      args[0]=workspace;
      constructor.newInstance(args);
    }
 else {
      if (!arg.startsWith("String_Node_Str")) {
        URL inURL=MoMLApplication.specToURL(arg);
        URL base=inURL;
        _parser.reset();
        long startTime=System.currentTimeMillis();
        _toplevel=(CompositeActor)_parser.parse(base,inURL);
        System.out.println("String_Node_Str" + base + "String_Node_Str"+ Manager.timeAndMemory(startTime));
        long statisticsStartTime=System.currentTimeMillis();
        System.out.println(_toplevel.statistics(null));
        long statisticsEndTime=System.currentTimeMillis();
        System.out.println("String_Node_Str" + (statisticsEndTime - statisticsStartTime) + "String_Node_Str");
      }
 else {
        return false;
      }
    }
  }
  return true;
}