Program: 59883
Project: 59883
Buggy source:
@Override public void report(final Measurement m) throws ReportingException {
  StringBuffer sb=new StringBuffer();
  if (csvFile == null) {
    csvFile=new File(path);
    if (log.isDebugEnabled()) {
      log.debug("String_Node_Str" + csvFile.getPath());
    }
  }
  final Map<String,Object> results=m.getAll();
  Object defaultResult=m.get();
  if (!csvFile.exists()) {
    sb.append("String_Node_Str");
    sb.append(delimiter);
    sb.append("String_Node_Str");
    if (defaultResult != null) {
      sb.append(delimiter);
      sb.append(Measurement.DEFAULT_RESULT);
    }
    for (    String key : results.keySet()) {
      if (!key.equals(Measurement.DEFAULT_RESULT)) {
        resultNames.add(key);
        sb.append(delimiter);
        sb.append(key);
      }
    }
    sb.append("String_Node_Str");
  }
  sb.append(timeFormat.format(m.getTime()));
  sb.append(delimiter);
  sb.append(m.getIteration());
  if (defaultResult != null) {
    sb.append(delimiter);
    if (defaultResult instanceof Quantity<?>) {
      sb.append(((Quantity<?>)defaultResult).getNumber());
    }
 else {
      sb.append(defaultResult);
    }
  }
  Object currentResult;
  for (  String resultName : resultNames) {
    sb.append(delimiter);
    currentResult=results.get(resultName);
    if (currentResult instanceof Quantity<?>) {
      sb.append(((Quantity<?>)currentResult).getNumber());
    }
 else {
      sb.append(currentResult);
    }
  }
  try (BufferedWriter bw=new BufferedWriter(new FileWriter(csvFile,true))){
    bw.append(sb.toString());
    bw.newLine();
  }
 catch (  IOException ioe) {
    throw new ReportingException("String_Node_Str" + csvFile.getPath(),ioe);
  }
}

Fixed version (ground truth):
@Override public void report(final Measurement m) throws ReportingException {
  StringBuffer sb=new StringBuffer();
  if (csvFile == null) {
    csvFile=new File(path);
    if (log.isDebugEnabled()) {
      log.debug("String_Node_Str" + csvFile.getPath());
    }
  }
  final Map<String,Object> results=m.getAll();
  Object defaultResult=m.get();
  if (!csvFile.exists()) {
    sb.append("String_Node_Str");
    sb.append(delimiter);
    sb.append("String_Node_Str");
    if (defaultResult != null) {
      sb.append(delimiter);
      sb.append(Measurement.DEFAULT_RESULT);
    }
    for (    String key : results.keySet()) {
      if (!key.equals(Measurement.DEFAULT_RESULT)) {
        resultNames.add(key);
        sb.append(delimiter);
        sb.append(key);
      }
    }
    sb.append("String_Node_Str");
  }
  sb.append(Utils.timeToHMS(m.getTime()));
  sb.append(delimiter);
  sb.append(m.getIteration());
  if (defaultResult != null) {
    sb.append(delimiter);
    if (defaultResult instanceof Quantity<?>) {
      sb.append(((Quantity<?>)defaultResult).getNumber());
    }
 else {
      sb.append(defaultResult);
    }
  }
  Object currentResult;
  for (  String resultName : resultNames) {
    sb.append(delimiter);
    currentResult=results.get(resultName);
    if (currentResult instanceof Quantity<?>) {
      sb.append(((Quantity<?>)currentResult).getNumber());
    }
 else {
      sb.append(currentResult);
    }
  }
  try (BufferedWriter bw=new BufferedWriter(new FileWriter(csvFile,true))){
    bw.append(sb.toString());
    bw.newLine();
  }
 catch (  IOException ioe) {
    throw new ReportingException("String_Node_Str" + csvFile.getPath(),ioe);
  }
}