Program: 85520
Project: 85520
Buggy source:
private List<FileMatchMetaData> discoverAgainstSingleModel(final Properties fileDiscoveryProperties,final Model model,final double probabilityThreshold) throws AnonymizerException, IOException, SAXException, TikaException {
  fileMatches=new ArrayList<>();
  String[] directoryList=null;
  final String directories=fileDiscoveryProperties.getProperty("String_Node_Str");
  directoryList=directories.split("String_Node_Str");
  File node;
  Metadata metadata;
  List<Double> probabilityList;
  for (  final String directory : directoryList) {
    node=new File(directory);
    if (node.isDirectory()) {
      final String[] files=node.list();
      for (      final String file : files) {
        log.info("String_Node_Str" + directory + "String_Node_Str"+ file);
        final BodyContentHandler handler=new BodyContentHandler();
        final AutoDetectParser parser=new AutoDetectParser();
        metadata=new Metadata();
        String handlerString="String_Node_Str";
        try (InputStream stream=new FileInputStream(directory + "String_Node_Str" + file)){
          if (stream != null) {
            parser.parse(stream,handler,metadata);
            handlerString=handler.toString();
          }
        }
         log.info("String_Node_Str" + handlerString);
        final String tokens[]=model.getTokenizer().tokenize(handler.toString());
        final Span nameSpans[]=model.getNameFinder().find(tokens);
        final double[] spanProbs=model.getNameFinder().probs(nameSpans);
        probabilityList=new ArrayList<>();
        for (int i=0; i < nameSpans.length; i++) {
          log.info("String_Node_Str" + nameSpans[i].toString());
          log.info("String_Node_Str" + tokens[nameSpans[i].getStart()]);
          log.info("String_Node_Str" + spanProbs[i]);
          probabilityList.add(spanProbs[i]);
        }
        model.getNameFinder().clearAdaptiveData();
        final double averageProbability=calculateAverage(probabilityList);
        if ((averageProbability >= probabilityThreshold)) {
          final FileMatchMetaData result=new FileMatchMetaData(directory,file);
          result.setAverageProbability(averageProbability);
          result.setModel(model.getName());
          fileMatches.add(result);
        }
      }
    }
  }
  return fileMatches;
}

Fixed version (ground truth):
private List<FileMatchMetaData> discoverAgainstSingleModel(final Properties fileDiscoveryProperties,final Model model,final double probabilityThreshold) throws AnonymizerException, IOException, SAXException, TikaException {
  fileMatches=new ArrayList<>();
  String[] directoryList=null;
  final String directories=fileDiscoveryProperties.getProperty("String_Node_Str");
  directoryList=directories.split("String_Node_Str");
  File node;
  Metadata metadata;
  List<Double> probabilityList;
  for (  final String directory : directoryList) {
    node=new File(directory);
    if (node.isDirectory()) {
      final String[] files=node.list();
      for (      final String file : files) {
        log.info("String_Node_Str" + directory + "String_Node_Str"+ file);
        final BodyContentHandler handler=new BodyContentHandler();
        final AutoDetectParser parser=new AutoDetectParser();
        metadata=new Metadata();
        String handlerString="String_Node_Str";
        try (InputStream stream=new FileInputStream(directory + "String_Node_Str" + file)){
          if (stream != null) {
            parser.parse(stream,handler,metadata);
            handlerString=handler.toString();
          }
        }
         log.debug("String_Node_Str" + handlerString);
        final String tokens[]=model.getTokenizer().tokenize(handler.toString());
        final Span nameSpans[]=model.getNameFinder().find(tokens);
        final double[] spanProbs=model.getNameFinder().probs(nameSpans);
        probabilityList=new ArrayList<>();
        for (int i=0; i < nameSpans.length; i++) {
          log.info("String_Node_Str" + nameSpans[i].toString());
          log.info("String_Node_Str" + tokens[nameSpans[i].getStart()]);
          log.info("String_Node_Str" + spanProbs[i]);
          probabilityList.add(spanProbs[i]);
        }
        model.getNameFinder().clearAdaptiveData();
        final double averageProbability=calculateAverage(probabilityList);
        if ((averageProbability >= probabilityThreshold)) {
          final FileMatchMetaData result=new FileMatchMetaData(directory,file);
          result.setAverageProbability(averageProbability);
          result.setModel(model.getName());
          fileMatches.add(result);
        }
      }
    }
  }
  return fileMatches;
}