Program: 38819
Project: 38819
Buggy source:
public static void exportWorkingDataSize(Path dbDir,String dbName) throws IOException {
  Objects.requireNonNull(dbDir);
  Objects.requireNonNull(dbName);
  Path csv=dbDir.resolve(dbName + "String_Node_Str");
  Path workingDataSizeCsv=dbDir.resolve("String_Node_Str");
  LOGGER.info("String_Node_Str",workingDataSizeCsv);
  final Map<String,AtomicLong> workingDataSizePerSlave=new HashMap<>();
  final long[] totalWorkingDataSize=new long[1];
  try (StatisticsReader reader=new StatisticsReader(csv)){
    reader.read(new StatisticsReader.AbstractHandler(){
      @Override public void onTaskEnd(      StatisticsReader.TaskExecution task,      StatisticsReader.JobExecution job){
        if (task.workingDataSize != null) {
          String slaveId=task.slaveRank + "String_Node_Str" + task.slaveThread;
          AtomicLong workingDataSize=workingDataSizePerSlave.get(slaveId);
          if (workingDataSize == null) {
            workingDataSize=new AtomicLong();
            workingDataSizePerSlave.put(slaveId,workingDataSize);
          }
          workingDataSize.addAndGet(task.workingDataSize);
          totalWorkingDataSize[0]+=task.workingDataSize;
        }
      }
    }
);
  }
   try (BufferedWriter writer=Files.newBufferedWriter(workingDataSizeCsv,StandardCharsets.UTF_8)){
    writer.write("String_Node_Str" + CSV_SEPARATOR + "String_Node_Str");
    writer.newLine();
    for (    Map.Entry<String,AtomicLong> entry : workingDataSizePerSlave.entrySet()) {
      String slaveId=entry.getKey();
      long workingDataSize=entry.getValue().get();
      writer.write(slaveId + CSV_SEPARATOR + workingDataSize);
      writer.newLine();
    }
    writer.write("String_Node_Str" + CSV_SEPARATOR + totalWorkingDataSize[0]);
    writer.newLine();
  }
 }

Fixed version (ground truth):
public static void exportWorkingDataSize(Path dbDir,String dbName) throws IOException {
  Objects.requireNonNull(dbDir);
  Objects.requireNonNull(dbName);
  Path csv=dbDir.resolve(dbName + "String_Node_Str");
  Path workingDataSizeCsv=dbDir.resolve("String_Node_Str");
  LOGGER.info("String_Node_Str",workingDataSizeCsv);
  final Map<String,AtomicLong> workingDataSizePerSlave=new HashMap<>();
  final long[] totalWorkingDataSize=new long[1];
  try (StatisticsReader reader=new StatisticsReader(csv)){
    reader.read(new StatisticsReader.AbstractHandler(){
      @Override public void onTaskEnd(      StatisticsReader.TaskExecution task,      StatisticsReader.JobExecution job){
        if (task.workingDataSize != null) {
          String slaveId=task.slaveRank + "String_Node_Str" + task.slaveThread;
          AtomicLong workingDataSize=workingDataSizePerSlave.computeIfAbsent(slaveId,k -> new AtomicLong());
          workingDataSize.addAndGet(task.workingDataSize);
          totalWorkingDataSize[0]+=task.workingDataSize;
        }
      }
    }
);
  }
   try (BufferedWriter writer=Files.newBufferedWriter(workingDataSizeCsv,StandardCharsets.UTF_8)){
    writer.write("String_Node_Str" + CSV_SEPARATOR + "String_Node_Str");
    writer.newLine();
    for (    Map.Entry<String,AtomicLong> entry : workingDataSizePerSlave.entrySet()) {
      String slaveId=entry.getKey();
      long workingDataSize=entry.getValue().get();
      writer.write(slaveId + CSV_SEPARATOR + workingDataSize);
      writer.newLine();
    }
    writer.write("String_Node_Str" + CSV_SEPARATOR + totalWorkingDataSize[0]);
    writer.newLine();
  }
 }