Program: 150876
Project: 150876
Buggy source:
void parseImage(int index,String[] args){
  boolean robust=true;
  List<String> paths=new ArrayList<String>();
  GrowQueue_F64 sizes=new GrowQueue_F64();
  for (; index < args.length; index++) {
    String arg=args[index];
    if (!arg.startsWith("String_Node_Str")) {
      throw new RuntimeException("String_Node_Str");
    }
    splitFlag(arg);
    if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
      robust=Boolean.parseBoolean(parameters);
    }
 else     if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
      String words[]=parameters.split("String_Node_Str");
      if (words.length != 2)       throw new RuntimeException("String_Node_Str");
      sizes.add(Double.parseDouble(words[0]));
      paths.add(words[1]);
    }
 else {
      throw new RuntimeException("String_Node_Str" + flagName);
    }
  }
  if (paths.isEmpty())   throw new RuntimeException("String_Node_Str");
  System.out.println("String_Node_Str" + robust + "String_Node_Str"+ paths.size());
  ConfigFiducialImage config=new ConfigFiducialImage();
  config.squareDetector.minimumEdgeIntensity=10;
  ConfigThreshold configThreshold;
  if (robust)   configThreshold=ConfigThreshold.local(ThresholdType.LOCAL_SQUARE,10);
 else   configThreshold=ConfigThreshold.fixed(DEFAULT_THRESHOLD);
  SquareImage_to_FiducialDetector<ImageUInt8> detector=FactoryFiducial.squareImage(config,configThreshold,ImageUInt8.class);
  for (int i=0; i < paths.size(); i++) {
    BufferedImage buffered=UtilImageIO.loadImage(paths.get(i));
    if (buffered == null)     throw new RuntimeException("String_Node_Str" + paths.get(i));
    ImageUInt8 pattern=new ImageUInt8(buffered.getWidth(),buffered.getHeight());
    ConvertBufferedImage.convertFrom(buffered,pattern);
    detector.addPatternImage(pattern,125,sizes.get(i));
  }
  this.detector=detector;
}

Fixed version (ground truth):
void parseImage(int index,String[] args){
  boolean robust=true;
  List<String> paths=new ArrayList<String>();
  GrowQueue_F64 sizes=new GrowQueue_F64();
  double borderWidth=0.25;
  for (; index < args.length; index++) {
    String arg=args[index];
    if (!arg.startsWith("String_Node_Str")) {
      throw new RuntimeException("String_Node_Str");
    }
    splitFlag(arg);
    if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
      robust=Boolean.parseBoolean(parameters);
    }
 else     if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
      String words[]=parameters.split("String_Node_Str");
      if (words.length != 2)       throw new RuntimeException("String_Node_Str");
      sizes.add(Double.parseDouble(words[0]));
      paths.add(words[1]);
    }
 else     if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
      borderWidth=Double.parseDouble(parameters);
    }
 else {
      throw new RuntimeException("String_Node_Str" + flagName);
    }
  }
  if (paths.isEmpty())   throw new RuntimeException("String_Node_Str");
  System.out.println("String_Node_Str" + robust + "String_Node_Str"+ paths.size()+ "String_Node_Str"+ borderWidth);
  ConfigFiducialImage config=new ConfigFiducialImage();
  config.borderWidthFraction=borderWidth;
  ConfigThreshold configThreshold;
  if (robust)   configThreshold=ConfigThreshold.local(ThresholdType.LOCAL_SQUARE,10);
 else   configThreshold=ConfigThreshold.fixed(DEFAULT_THRESHOLD);
  SquareImage_to_FiducialDetector<ImageUInt8> detector=FactoryFiducial.squareImage(config,configThreshold,ImageUInt8.class);
  for (int i=0; i < paths.size(); i++) {
    BufferedImage buffered=UtilImageIO.loadImage(paths.get(i));
    if (buffered == null)     throw new RuntimeException("String_Node_Str" + paths.get(i));
    ImageUInt8 pattern=new ImageUInt8(buffered.getWidth(),buffered.getHeight());
    ConvertBufferedImage.convertFrom(buffered,pattern);
    detector.addPatternImage(pattern,125,sizes.get(i));
  }
  this.detector=detector;
}