Program: 150061
Project: 150061
Buggy source:
/** 
 * Take a string (most likely a command-line argument) and try to proccess it as an option command.  Return true if the string was understood, false  otherwise.
 * @param arg a String to try to process as an option command
 * @return true if successful, false otherwise
 */
public static boolean process(String arg){
  if (arg.equals("String_Node_Str")) {
    printHelp();
    return true;
  }
  if (arg.equals("String_Node_Str")) {
    printOptions();
    return true;
  }
  if (arg.equals("String_Node_Str")) {
    printHelp();
    return true;
  }
  int split=arg.indexOf('=');
  if (split == -1) {
    VM.sysWriteln("String_Node_Str" + arg + "String_Node_Str");
    return false;
  }
  String name=arg.substring(0,split);
  String value=arg.substring(split + 1);
  Option o=Option.getOption(name);
  if (o == null)   return false;
switch (o.getType()) {
case Option.BOOLEAN_OPTION:
    if (value.equals("String_Node_Str")) {
      ((BooleanOption)o).setValue(true);
      return true;
    }
 else     if (value.equals("String_Node_Str")) {
      ((BooleanOption)o).setValue(false);
      return true;
    }
  return false;
case Option.INT_OPTION:
int ival=VM_CommandLineArgs.primitiveParseInt(value);
((IntOption)o).setValue(ival);
return true;
case Option.FLOAT_OPTION:
float fval=VM_CommandLineArgs.primitiveParseFloat(value);
((FloatOption)o).setValue(fval);
return true;
case Option.STRING_OPTION:
((StringOption)o).setValue(value);
return true;
case Option.ENUM_OPTION:
((EnumOption)o).setValue(value);
return true;
case Option.PAGES_OPTION:
long pval=VM_CommandLineArgs.parseMemorySize(o.getName(),"String_Node_Str" + o.getKey() + "String_Node_Str","String_Node_Str",1,"String_Node_Str" + o.getKey() + "String_Node_Str"+ value,value);
if (pval < 0) return false;
((PagesOption)o).setBytes(Extent.fromIntSignExtend((int)pval));
return true;
case Option.MICROSECONDS_OPTION:
int mval=VM_CommandLineArgs.primitiveParseInt(value);
mval=mval;
((MicrosecondsOption)o).setMicroseconds(mval);
return true;
}
return false;
}

Fixed version (ground truth):
/** 
 * Take a string (most likely a command-line argument) and try to proccess it as an option command.  Return true if the string was understood, false  otherwise.
 * @param arg a String to try to process as an option command
 * @return true if successful, false otherwise
 */
public static boolean process(String arg){
  if (arg.equals("String_Node_Str")) {
    printHelp();
    return true;
  }
  if (arg.equals("String_Node_Str")) {
    printOptions();
    return true;
  }
  if (arg.equals("String_Node_Str")) {
    printHelp();
    return true;
  }
  int split=arg.indexOf('=');
  if (split == -1) {
    VM.sysWriteln("String_Node_Str" + arg + "String_Node_Str");
    return false;
  }
  String name=arg.substring(0,split);
  String value=arg.substring(split + 1);
  Option o=Option.getOption(name);
  if (o == null)   return false;
switch (o.getType()) {
case Option.BOOLEAN_OPTION:
    if (value.equals("String_Node_Str")) {
      ((BooleanOption)o).setValue(true);
      return true;
    }
 else     if (value.equals("String_Node_Str")) {
      ((BooleanOption)o).setValue(false);
      return true;
    }
  return false;
case Option.INT_OPTION:
int ival=VM_CommandLineArgs.primitiveParseInt(value);
((IntOption)o).setValue(ival);
return true;
case Option.FLOAT_OPTION:
float fval=VM_CommandLineArgs.primitiveParseFloat(value);
((FloatOption)o).setValue(fval);
return true;
case Option.STRING_OPTION:
((StringOption)o).setValue(value);
return true;
case Option.ENUM_OPTION:
((EnumOption)o).setValue(value);
return true;
case Option.PAGES_OPTION:
long pval=VM_CommandLineArgs.parseMemorySize(o.getName(),"String_Node_Str" + o.getKey() + "String_Node_Str","String_Node_Str",1,"String_Node_Str" + o.getKey() + "String_Node_Str"+ value,value);
if (pval < 0) return false;
((PagesOption)o).setBytes(Extent.fromIntSignExtend((int)pval));
return true;
case Option.MICROSECONDS_OPTION:
int mval=VM_CommandLineArgs.primitiveParseInt(value);
((MicrosecondsOption)o).setMicroseconds(mval);
return true;
}
return false;
}