Program: 61566
Project: 61566
Buggy source:
public List<SuspiciousCode> searchGZoltar(String location,List<String> testsToExecute,List<String> toInstrument,HashSet<String> cp,String srcFolder) throws FileNotFoundException, IOException {
  candidates.clear();
  failingTestCases.clear();
  Double thr=ConfigurationProperties.getPropertyDouble("String_Node_Str");
  logger.info("String_Node_Str" + thr);
  File projLocationFile=new File(ConfigurationProperties.getProperty("String_Node_Str"));
  String projLocation=projLocationFile.getAbsolutePath();
  logger.debug("String_Node_Str" + projLocation + "String_Node_Str"+ projLocationFile.exists());
  GZoltar gz=new GZoltar(projLocation);
  for (  String to : toInstrument) {
    gz.addPackageToInstrument(to);
  }
  if (cp != null || !cp.isEmpty()) {
    logger.info("String_Node_Str" + cp);
    gz.getClasspaths().addAll(cp);
  }
  for (  String test : testsToExecute) {
    gz.addTestToExecute(test);
    gz.addClassNotToInstrument(test);
  }
  gz.addTestPackageNotToExecute("String_Node_Str");
  gz.addPackageNotToInstrument("String_Node_Str");
  gz.run();
  List<String> alltest=new ArrayList<>();
  String casesTest="String_Node_Str";
  int[] sum=new int[2];
  for (  TestResult tr : gz.getTestResults()) {
    String testName=tr.getName().split("String_Node_Str")[0];
    if (testName.startsWith("String_Node_Str")) {
      continue;
    }
    sum[0]++;
    sum[1]+=tr.wasSuccessful() ? 0 : 1;
    if (!tr.wasSuccessful()) {
      logger.info("String_Node_Str" + tr.getName());
      failingTestCases.add(testName);
    }
    if (tr.getTrace() != null) {
    }
    if (!alltest.contains(testName)) {
      alltest.add(testName);
      casesTest+=testName + "String_Node_Str";
    }
  }
  ConfigurationProperties.properties.setProperty("String_Node_Str",casesTest);
  logger.info("String_Node_Str" + sum[0] + "String_Node_Str"+ sum[1]+ "String_Node_Str"+ gz.getSuspiciousStatements().size());
  DecimalFormat df=new DecimalFormat("String_Node_Str");
  int maxSuspCandidates=ConfigurationProperties.getPropertyInt("String_Node_Str");
  for (  Statement s : gz.getSuspiciousStatements()) {
    String compName=s.getMethod().getParent().getLabel();
    if (s.getSuspiciousness() >= thr && isSource(compName,srcFolder)) {
      logger.debug("String_Node_Str" + compName + "String_Node_Str"+ s.getLineNumber()+ "String_Node_Str"+ df.format(s.getSuspiciousness()));
      SuspiciousCode c=new SuspiciousCode(compName,s.getMethod().toString(),s.getLineNumber(),s.getSuspiciousness());
      candidates.add(c);
    }
  }
  int max=(candidates.size() < maxSuspCandidates) ? candidates.size() : maxSuspCandidates;
  Collections.sort(candidates,new ComparatorCandidates());
  logger.info("String_Node_Str" + candidates.size() + "String_Node_Str"+ thr+ "String_Node_Str"+ max);
  candidates=candidates.subList(0,max);
  return candidates;
}

Fixed version (ground truth):
public List<SuspiciousCode> searchGZoltar(String location,List<String> testsToExecute,List<String> toInstrument,HashSet<String> cp,String srcFolder) throws FileNotFoundException, IOException {
  candidates.clear();
  failingTestCases.clear();
  Double thr=ConfigurationProperties.getPropertyDouble("String_Node_Str");
  logger.info("String_Node_Str" + thr);
  File projLocationFile=new File(ConfigurationProperties.getProperty("String_Node_Str"));
  String projLocation=projLocationFile.getAbsolutePath();
  logger.debug("String_Node_Str" + projLocation + "String_Node_Str"+ projLocationFile.exists());
  GZoltar gz=new GZoltar(projLocation);
  for (  String to : toInstrument) {
    gz.addPackageToInstrument(to);
  }
  if (cp != null || !cp.isEmpty()) {
    logger.info("String_Node_Str" + cp);
    gz.getClasspaths().addAll(cp);
  }
  for (  String test : testsToExecute) {
    gz.addTestToExecute(test);
    gz.addClassNotToInstrument(test);
  }
  gz.addTestPackageNotToExecute("String_Node_Str");
  gz.addPackageNotToInstrument("String_Node_Str");
  gz.run();
  List<String> alltest=new ArrayList<>();
  String casesTest="String_Node_Str";
  int[] sum=new int[2];
  for (  TestResult tr : gz.getTestResults()) {
    String testName=tr.getName().split("String_Node_Str")[0];
    if (testName.startsWith("String_Node_Str")) {
      continue;
    }
    sum[0]++;
    sum[1]+=tr.wasSuccessful() ? 0 : 1;
    if (!tr.wasSuccessful()) {
      logger.info("String_Node_Str" + tr.getName());
      failingTestCases.add(testName);
    }
    if (tr.getTrace() != null) {
    }
    if (!alltest.contains(testName)) {
      alltest.add(testName);
      casesTest+=testName + File.pathSeparator;
    }
  }
  ConfigurationProperties.properties.setProperty("String_Node_Str",casesTest);
  logger.info("String_Node_Str" + sum[0] + "String_Node_Str"+ sum[1]+ "String_Node_Str"+ gz.getSuspiciousStatements().size());
  DecimalFormat df=new DecimalFormat("String_Node_Str");
  int maxSuspCandidates=ConfigurationProperties.getPropertyInt("String_Node_Str");
  for (  Statement s : gz.getSuspiciousStatements()) {
    String compName=s.getMethod().getParent().getLabel();
    if (s.getSuspiciousness() >= thr && isSource(compName,srcFolder)) {
      logger.debug("String_Node_Str" + compName + "String_Node_Str"+ s.getLineNumber()+ "String_Node_Str"+ df.format(s.getSuspiciousness()));
      SuspiciousCode c=new SuspiciousCode(compName,s.getMethod().toString(),s.getLineNumber(),s.getSuspiciousness());
      candidates.add(c);
    }
  }
  int max=(candidates.size() < maxSuspCandidates) ? candidates.size() : maxSuspCandidates;
  Collections.sort(candidates,new ComparatorCandidates());
  logger.info("String_Node_Str" + candidates.size() + "String_Node_Str"+ thr+ "String_Node_Str"+ max);
  candidates=candidates.subList(0,max);
  return candidates;
}