Program: 95837
Project: 95837
Buggy source:
/** 
 * Main program to run the benchmark. Arguments are the available options.
 * @param args program arguments
 * @throws Exception
 */
@SuppressWarnings("String_Node_Str") public static void main(String[] args) throws Exception {
  CommandLine cmd=parseArguments(args,TransactionalFSMBenchmark.class.getName());
  if (cmd == null) {
    return;
  }
  performSanityCheck(cmd);
  INPUT_PATH=cmd.getOptionValue(OPTION_INPUT_PATH);
  CSV_PATH=cmd.getOptionValue(OPTION_CSV_PATH);
  MIN_SUPPORT=Float.parseFloat(cmd.getOptionValue(OPTION_MIN_SUP));
  SYNTHETIC_FLAG=cmd.hasOption(OPTION_SYNTHETIC);
  BULK_ITERATION_FLAG=cmd.hasOption(OPTION_GSPAN_BULK);
  GradoopFlinkConfig gradoopConfig=GradoopFlinkConfig.createDefaultConfig(getExecutionEnvironment());
  TLFDataSource<GraphHeadPojo,VertexPojo,EdgePojo> tlfSource=new TLFDataSource<>(INPUT_PATH,gradoopConfig);
  DataSet<TLFGraph> graphs=tlfSource.getTLFGraphs();
  GSpanEncoder encoder=new GSpanTLFGraphEncoder<>();
  GSpanMiner miner;
  miner=BULK_ITERATION_FLAG ? new GSpanBulkIteration() : new GSpanFilterRefine();
  miner.setExecutionEnvironment(getExecutionEnvironment());
  FSMConfig fsmConfig=SYNTHETIC_FLAG ? new FSMConfig(MIN_SUPPORT,true,true) : new FSMConfig(MIN_SUPPORT,false,false);
  DataSet<GSpanGraph> gsGraph=encoder.encode(graphs,fsmConfig);
  DataSet<WithCount<CompressedDFSCode>> countDataSet=miner.mine(gsGraph,encoder.getMinFrequency(),fsmConfig);
  System.out.println(countDataSet.count());
  writeCSV();
}

Fixed version (ground truth):
/** 
 * Main program to run the benchmark. Arguments are the available options.
 * @param args program arguments
 * @throws Exception
 */
@SuppressWarnings("String_Node_Str") public static void main(String[] args) throws Exception {
  CommandLine cmd=parseArguments(args,TransactionalFSMBenchmark.class.getName());
  if (cmd == null) {
    return;
  }
  performSanityCheck(cmd);
  INPUT_PATH=cmd.getOptionValue(OPTION_INPUT_PATH);
  CSV_PATH=cmd.getOptionValue(OPTION_CSV_PATH);
  MIN_SUPPORT=Float.parseFloat(cmd.getOptionValue(OPTION_MIN_SUP));
  SYNTHETIC_FLAG=cmd.hasOption(OPTION_SYNTHETIC);
  BULK_ITERATION_FLAG=cmd.hasOption(OPTION_GSPAN_BULK);
  GradoopFlinkConfig gradoopConfig=GradoopFlinkConfig.createDefaultConfig(getExecutionEnvironment());
  TLFDataSource<GraphHeadPojo,VertexPojo,EdgePojo> tlfSource=new TLFDataSource<>(INPUT_PATH,gradoopConfig);
  DataSet<TLFGraph> graphs=tlfSource.getTLFGraphs();
  GSpanEncoder encoder=new GSpanTLFGraphEncoder<>();
  GSpanMiner miner;
  miner=BULK_ITERATION_FLAG ? new GSpanBulkIteration() : new GSpanFilterRefine();
  miner.setExecutionEnvironment(getExecutionEnvironment());
  FSMConfig fsmConfig=SYNTHETIC_FLAG ? new FSMConfig(MIN_SUPPORT,true,true) : new FSMConfig(MIN_SUPPORT,false,false);
  DataSet<GSpanGraph> gsGraph=encoder.encode(graphs,fsmConfig);
  DataSet<WithCount<CompressedDFSCode>> countDataSet=miner.mine(gsGraph,encoder.getMinFrequency(),fsmConfig);
  long actualCount=countDataSet.count();
  long expectedCount=PredictableTransactionsGenerator.containedFrequentSubgraphs(MIN_SUPPORT);
  String resultMessage=actualCount == expectedCount ? "String_Node_Str" : "String_Node_Str" + expectedCount + "String_Node_Str"+ actualCount+ "String_Node_Str";
  System.out.println(resultMessage);
  writeCSV();
}