Program: 85530
Project: 85530
Buggy source:
private List<MatchMetaData> discoverAgainstSingleModel(IDBFactory factory,Properties dataDiscoveryProperties,Set<String> tables,Model model,double probabilityThreshold) throws AnonymizerException {
  IMetaData metaData=factory.fetchMetaData();
  List<MatchMetaData> map=metaData.getMetaData();
  log.info("String_Node_Str");
  log.info(String.format("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"));
  matches=new ArrayList<>();
  ISQLBuilder sqlBuilder=factory.createSQLBuilder();
  for (  MatchMetaData data : map) {
    if (SQLToJavaMapping.isString(data.getColumnType())) {
      String tableName=data.getTableName();
      String columnName=data.getColumnName();
      List<Double> probabilityList=new ArrayList<>();
      log.debug("String_Node_Str" + tableName + "String_Node_Str");
      if (!tables.isEmpty() && !tables.contains(tableName.toLowerCase())) {
        log.debug("String_Node_Str");
        continue;
      }
      String tableNamePattern=dataDiscoveryProperties.getProperty("String_Node_Str");
      if (!CommonUtils.isEmptyString(tableNamePattern)) {
        Pattern p=compile(tableNamePattern);
        if (!p.matcher(tableName).matches()) {
          continue;
        }
      }
      String table=sqlBuilder.prefixSchema(tableName);
      int limit=Integer.parseInt(dataDiscoveryProperties.getProperty("String_Node_Str"));
      String query=sqlBuilder.buildSelectWithLimit("String_Node_Str" + columnName + "String_Node_Str"+ table+ "String_Node_Str"+ columnName+ "String_Node_Str",limit);
      log.debug("String_Node_Str" + query);
      try (Statement stmt=factory.getConnection().createStatement();ResultSet resultSet=stmt.executeQuery(query)){
        while (resultSet.next()) {
          String sentence=resultSet.getString(1);
          if (sentence != null && !sentence.isEmpty()) {
            String tokens[]=model.getTokenizer().tokenize(sentence);
            Span nameSpans[]=model.getNameFinder().find(tokens);
            double[] spanProbs=model.getNameFinder().probs(nameSpans);
            for (int i=0; i < nameSpans.length; i++) {
              probabilityList.add(spanProbs[i]);
            }
            model.getNameFinder().clearAdaptiveData();
          }
        }
      }
 catch (      SQLException sqle) {
        log.error(sqle.toString());
      }
      double averageProbability=calculateAverage(probabilityList);
      if ((averageProbability >= probabilityThreshold)) {
        data.setAverageProbability(averageProbability);
        data.setModel(model.getName());
        matches.add(data);
      }
    }
  }
  return matches;
}

Fixed version (ground truth):
private List<MatchMetaData> discoverAgainstSingleModel(IDBFactory factory,Properties dataDiscoveryProperties,Set<String> tables,Model model,double probabilityThreshold) throws AnonymizerException {
  IMetaData metaData=factory.fetchMetaData();
  List<MatchMetaData> map=metaData.getMetaData();
  matches=new ArrayList<>();
  ISQLBuilder sqlBuilder=factory.createSQLBuilder();
  for (  MatchMetaData data : map) {
    if (SQLToJavaMapping.isString(data.getColumnType())) {
      String tableName=data.getTableName();
      String columnName=data.getColumnName();
      List<Double> probabilityList=new ArrayList<>();
      log.debug("String_Node_Str" + tableName + "String_Node_Str");
      if (!tables.isEmpty() && !tables.contains(tableName.toLowerCase())) {
        log.debug("String_Node_Str");
        continue;
      }
      String tableNamePattern=dataDiscoveryProperties.getProperty("String_Node_Str");
      if (!CommonUtils.isEmptyString(tableNamePattern)) {
        Pattern p=compile(tableNamePattern);
        if (!p.matcher(tableName).matches()) {
          continue;
        }
      }
      String table=sqlBuilder.prefixSchema(tableName);
      int limit=Integer.parseInt(dataDiscoveryProperties.getProperty("String_Node_Str"));
      String query=sqlBuilder.buildSelectWithLimit("String_Node_Str" + columnName + "String_Node_Str"+ table+ "String_Node_Str"+ columnName+ "String_Node_Str",limit);
      log.debug("String_Node_Str" + query);
      try (Statement stmt=factory.getConnection().createStatement();ResultSet resultSet=stmt.executeQuery(query)){
        while (resultSet.next()) {
          String sentence=resultSet.getString(1);
          if (sentence != null && !sentence.isEmpty()) {
            String tokens[]=model.getTokenizer().tokenize(sentence);
            Span nameSpans[]=model.getNameFinder().find(tokens);
            double[] spanProbs=model.getNameFinder().probs(nameSpans);
            for (int i=0; i < nameSpans.length; i++) {
              probabilityList.add(spanProbs[i]);
            }
            model.getNameFinder().clearAdaptiveData();
          }
        }
      }
 catch (      SQLException sqle) {
        log.error(sqle.toString());
      }
      double averageProbability=calculateAverage(probabilityList);
      if ((averageProbability >= probabilityThreshold)) {
        data.setAverageProbability(averageProbability);
        data.setModel(model.getName());
        matches.add(data);
      }
    }
  }
  return matches;
}