Program: 141415
Project: 141415
Buggy source:
private static void filterSamples(final Path srcDesignFile,final Path destDesignFile,final double threshold) throws IOException, EoulsanIOException {
  if (srcDesignFile == null)   throw new NullPointerException("String_Node_Str");
  if (destDesignFile == null)   throw new NullPointerException("String_Node_Str");
  final Configuration conf=new Configuration();
  final FileSystem fs=srcDesignFile.getFileSystem(conf);
  if (PathUtils.isFile(destDesignFile,conf))   throw new EoulsanIOException("String_Node_Str" + destDesignFile);
  final DesignReader dr=new SimpleDesignReader(fs.open(srcDesignFile));
  final Design design=dr.read();
  LogReader logReader=new LogReader(fs.open(new Path(srcDesignFile.getParent(),"String_Node_Str")));
  final Reporter reporter=logReader.read();
  for (  String group : reporter.getCounterGroups()) {
    final int pos1=group.indexOf('(');
    final int pos2=group.indexOf(',');
    if (pos1 == -1 || pos2 == -1)     continue;
    final String sample=group.substring(pos1 + 1,pos2).trim();
    final long inputReads=reporter.getCounterValue(group,"String_Node_Str");
    final long oneLocus=reporter.getCounterValue(group,"String_Node_Str");
    final double ratio=(double)oneLocus / (double)inputReads;
    logger.info("String_Node_Str" + sample + "String_Node_Str"+ oneLocus+ "String_Node_Str"+ inputReads+ "String_Node_Str"+ ratio+ "String_Node_Str"+ threshold);
    if (ratio < threshold) {
      design.removeSample(sample);
      logger.info("String_Node_Str" + sample);
    }
  }
  DesignWriter writer=new SimpleDesignWriter(fs.create(destDesignFile));
  writer.write(design);
}

Fixed version (ground truth):
private static void filterSamples(final Path srcDesignFile,final Path destDesignFile,final double threshold) throws IOException, EoulsanIOException {
  if (srcDesignFile == null)   throw new NullPointerException("String_Node_Str");
  if (destDesignFile == null)   throw new NullPointerException("String_Node_Str");
  final Configuration conf=new Configuration();
  final FileSystem fs=srcDesignFile.getFileSystem(conf);
  if (PathUtils.isFile(destDesignFile,conf))   throw new EoulsanIOException("String_Node_Str" + destDesignFile);
  final DesignReader dr=new SimpleDesignReader(fs.open(srcDesignFile));
  final Design design=dr.read();
  LogReader logReader=new LogReader(fs.open(new Path(srcDesignFile.getParent(),"String_Node_Str")));
  final Reporter reporter=logReader.read();
  for (  String group : reporter.getCounterGroups()) {
    final int pos1=group.indexOf('(');
    final int pos2=group.indexOf(',');
    if (pos1 == -1 || pos2 == -1)     continue;
    final String sample=group.substring(pos1 + 1,pos2).trim();
    final long inputReads=reporter.getCounterValue(group,Common.SOAP_INPUT_READS_COUNTER);
    final long oneLocus=reporter.getCounterValue(group,Common.SOAP_ALIGNEMENT_WITH_ONLY_ONE_HIT_COUNTER);
    final double ratio=(double)oneLocus / (double)inputReads;
    logger.info("String_Node_Str" + sample + "String_Node_Str"+ oneLocus+ "String_Node_Str"+ inputReads+ "String_Node_Str"+ ratio+ "String_Node_Str"+ threshold);
    if (ratio < threshold) {
      design.removeSample(sample);
      logger.info("String_Node_Str" + sample);
    }
  }
  DesignWriter writer=new SimpleDesignWriter(fs.create(destDesignFile));
  writer.write(design);
}