Program: 33297
Project: 33297
Buggy source:
@RequestMapping("String_Node_Str") public @ResponseBody String experimentoverview(@RequestParam(value="String_Node_Str") String experimentType,@RequestParam(value="String_Node_Str") String matching){
  LOGGER.debug("String_Node_Str");
  ExperimentType eType=ExperimentType.valueOf(experimentType);
  Set<String> annotators=AnnotatorMapping.getAnnotatorsForExperimentType(eType);
  Set<String> datasets=DatasetMapping.getDatasetsForExperimentType(eType);
  String results[][]=new String[annotators.size() + 1][datasets.size() + 1];
  results[0][0]="String_Node_Str";
  Map<String,Integer> annotator2Index=new HashMap<String,Integer>();
  int count=1;
  for (  String annotator : annotators) {
    annotator2Index.put(annotator,count);
    results[count][0]=annotator;
    ++count;
  }
  Map<String,Integer> dataset2Index=new HashMap<String,Integer>();
  count=1;
  for (  String dataset : datasets) {
    dataset2Index.put(dataset,count);
    results[0][count]=dataset;
    ++count;
  }
  List<ExperimentTaskResult> expResults=dao.getLatestResultsOfExperiments(experimentType,matching);
  int row, col;
  for (  ExperimentTaskResult result : expResults) {
    if (annotator2Index.containsKey(result.annotator) && dataset2Index.containsKey(result.dataset)) {
      row=annotator2Index.get(result.annotator);
      col=dataset2Index.get(result.dataset);
      if (result.state == ExperimentDAO.TASK_FINISHED) {
        results[row][col]=Double.toString(result.getMicroF1Measure());
      }
 else {
        results[row][col]="String_Node_Str" + result.state + "String_Node_Str";
      }
    }
  }
  StringBuilder dataBuilder=new StringBuilder();
  for (int i=0; i < results.length; ++i) {
    dataBuilder.append(i == 0 ? '[' : ',');
    for (int j=0; j < results[i].length; ++j) {
      dataBuilder.append(j == 0 ? "String_Node_Str" : "String_Node_Str");
      if (results[i][j] != null) {
        dataBuilder.append(results[i][j]);
      }
 else {
        dataBuilder.append("String_Node_Str");
      }
    }
    dataBuilder.append("String_Node_Str");
  }
  dataBuilder.append(']');
  return dataBuilder.toString();
}

Fixed version (ground truth):
@RequestMapping("String_Node_Str") public @ResponseBody String experimentoverview(@RequestParam(value="String_Node_Str") String experimentType,@RequestParam(value="String_Node_Str") String matchingString){
  LOGGER.debug("String_Node_Str",experimentType,matchingString);
  Matching matching=getMatching(matchingString);
  ExperimentType eType=ExperimentType.valueOf(experimentType);
  Set<String> annotators=AnnotatorMapping.getAnnotatorsForExperimentType(eType);
  Set<String> datasets=DatasetMapping.getDatasetsForExperimentType(eType);
  String results[][]=new String[annotators.size() + 1][datasets.size() + 1];
  results[0][0]="String_Node_Str";
  Map<String,Integer> annotator2Index=new HashMap<String,Integer>();
  int count=1;
  for (  String annotator : annotators) {
    annotator2Index.put(annotator,count);
    results[count][0]=annotator;
    ++count;
  }
  Map<String,Integer> dataset2Index=new HashMap<String,Integer>();
  count=1;
  for (  String dataset : datasets) {
    dataset2Index.put(dataset,count);
    results[0][count]=dataset;
    ++count;
  }
  List<ExperimentTaskResult> expResults=dao.getLatestResultsOfExperiments(experimentType,matching.name());
  System.out.println("String_Node_Str" + expResults.size() + "String_Node_Str");
  int row, col;
  for (  ExperimentTaskResult result : expResults) {
    System.out.println("String_Node_Str" + result.toString());
    if (annotator2Index.containsKey(result.annotator) && dataset2Index.containsKey(result.dataset)) {
      row=annotator2Index.get(result.annotator);
      col=dataset2Index.get(result.dataset);
      if (result.state == ExperimentDAO.TASK_FINISHED) {
        results[row][col]=Double.toString(result.getMicroF1Measure());
      }
 else {
        results[row][col]="String_Node_Str" + result.state + "String_Node_Str";
      }
    }
  }
  StringBuilder dataBuilder=new StringBuilder();
  for (int i=0; i < results.length; ++i) {
    dataBuilder.append(i == 0 ? '[' : ',');
    for (int j=0; j < results[i].length; ++j) {
      dataBuilder.append(j == 0 ? "String_Node_Str" : "String_Node_Str");
      if (results[i][j] != null) {
        dataBuilder.append(results[i][j]);
      }
 else {
        dataBuilder.append("String_Node_Str");
      }
    }
    dataBuilder.append("String_Node_Str");
  }
  dataBuilder.append(']');
  return dataBuilder.toString();
}