Program: 145850
Project: 145850
Buggy source:
void run(ControllerRunner runner){
  if (runner == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String timeKey=properties.getProperty("String_Node_Str");
  if (timeKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String dateKey=properties.getProperty("String_Node_Str");
  if (dateKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String payloadNameKey=properties.getProperty("String_Node_Str");
  if (payloadNameKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String sentenceIdKey=properties.getProperty("String_Node_Str");
  if (sentenceIdKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  while (runner.shouldKeepRunning()) {
    Map<String,Object> data=new HashMap<>();
    Date now=new Date();
    DateFormat timeFormat=new SimpleDateFormat("String_Node_Str");
    data.put(timeKey,timeFormat.format(now));
    DateFormat dateFormat=new SimpleDateFormat("String_Node_Str");
    data.put(dateKey,dateFormat.format(now));
    data.put(payloadNameKey,this.payloadName);
    data.put(sentenceIdKey,0);
    for (    SensorController controller : this.sensors) {
      try {
        Map<String,Object> sensorData=controller.getCurrentData();
        for (        String key : sensorData.keySet()) {
          data.put(key,sensorData.get(key));
        }
      }
 catch (      SensorReadFailedException ex) {
        logger.error(ex);
      }
      for (      DataWriter dataWriter : this.dataWriters) {
        try {
          dataWriter.writeData(data);
        }
 catch (        Exception e) {
          logger.error(e);
        }
      }
      if (this.cameraSensor != null) {
        List<String> imageFiles=this.cameraSensor.getImageFileNames();
        try {
          this.cameraWriter.writeImageFiles(imageFiles);
        }
 catch (        DataWriteFailedException ex) {
          logger.error("String_Node_Str",ex);
        }
      }
      runner.controllerFinishedRunLoop(data);
    }
  }
}

Fixed version (ground truth):
void run(ControllerRunner runner){
  if (runner == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String timeKey=properties.getProperty("String_Node_Str");
  if (timeKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String dateKey=properties.getProperty("String_Node_Str");
  if (dateKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String payloadNameKey=properties.getProperty("String_Node_Str");
  if (payloadNameKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  String sentenceIdKey=properties.getProperty("String_Node_Str");
  if (sentenceIdKey == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  while (runner.shouldKeepRunning()) {
    Map<String,Object> data=new HashMap<>();
    Date now=new Date();
    DateFormat timeFormat=new SimpleDateFormat("String_Node_Str");
    data.put(timeKey,timeFormat.format(now));
    DateFormat dateFormat=new SimpleDateFormat("String_Node_Str");
    data.put(dateKey,dateFormat.format(now));
    data.put(payloadNameKey,this.payloadName);
    data.put(sentenceIdKey,0);
    for (    SensorController controller : this.sensors) {
      try {
        Map<String,Object> sensorData=controller.getCurrentData();
        for (        String key : sensorData.keySet()) {
          data.put(key,sensorData.get(key));
        }
      }
 catch (      SensorReadFailedException ex) {
        logger.error(ex);
      }
    }
    for (    DataWriter dataWriter : this.dataWriters) {
      try {
        dataWriter.writeData(data);
      }
 catch (      Exception e) {
        logger.error(e);
      }
    }
    if (this.cameraSensor != null) {
      List<String> imageFiles=this.cameraSensor.getImageFileNames();
      try {
        this.cameraWriter.writeImageFiles(imageFiles);
      }
 catch (      DataWriteFailedException ex) {
        logger.error("String_Node_Str",ex);
      }
    }
    runner.controllerFinishedRunLoop(data);
  }
}