Program: 42732
Project: 42732
Buggy source:
/** 
 * the main method
 * @param args args
 */
public static void main(String[] args){
  double currentHeading=0;
  System.out.println("String_Node_Str");
  try {
    ArrayList<GpsMeasurement> wayPoints=WayPointUtil.createWayPointsFromLog("String_Node_Str","String_Node_Str");
    Gui.getInstance();
    for (int i=0; i < wayPoints.size(); i++) {
      Gui.getInstance().getMainGuiWindow().getAnalyPane().getDataPanel().getGpsPanel().addPointsToMapTree(Color.BLUE,new LocTuple(wayPoints.get(i).getLatitude(),-wayPoints.get(i).getLongitude()));
      Gui.getInstance().fixPaint();
    }
    WayPointFollowerPlanner planer=new WayPointFollowerPlanner(NodeChannel.UNKNOWN_CHANNEL,wayPoints);
    for (int i=0; i < wayPoints.size(); i++) {
      final double latErrorFinal=2 / 111131.745;
      final double lonErrorFinal=2 / 78846.81;
      for (double latError=-latErrorFinal; latError <= latErrorFinal; latError+=5 * latErrorFinal) {
        for (double lonError=-lonErrorFinal; lonError <= lonErrorFinal; lonError+=5 * lonErrorFinal) {
          double lat=wayPoints.get(i).getLatitude() + latError;
          double lon=wayPoints.get(i).getLongitude() + lonError;
          planer.updatePositionEstimate(new GPSPoseMessage(new Date(),lat,lon,currentHeading));
          double angle=Math.PI * planer.getCommandedSteeringAngle() / 180;
          Gui.getInstance().getMainGuiWindow().getAnalyPane().getDataPanel().getGpsPanel().addPointsToMapTree(Color.RED,new LocTuple(lat,-lon));
          Gui.getInstance().getMainGuiWindow().getAnalyPane().getDataPanel().getGpsPanel().addLineToMap(new LocTuple(lat,-lon),angle,Color.RED);
        }
      }
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * the main method
 * @param args args
 */
public static void main(String[] args){
  double currentHeading=0;
  System.out.println("String_Node_Str");
  try {
    ArrayList<GpsMeasurement> wayPoints=WayPointUtil.createWayPointsFromLog("String_Node_Str",RobobuggyConfigFile.WAYPOINT_SOURCE_LOG_FILE);
    Gui.getInstance();
    for (int i=0; i < wayPoints.size(); i++) {
      Gui.getInstance().getMainGuiWindow().getAnalyPane().getDataPanel().getGpsPanel().addPointsToMapTree(Color.BLUE,new LocTuple(wayPoints.get(i).getLatitude(),-wayPoints.get(i).getLongitude()));
      Gui.getInstance().fixPaint();
    }
    WayPointFollowerPlanner planer=new WayPointFollowerPlanner(NodeChannel.UNKNOWN_CHANNEL,wayPoints);
    for (int i=0; i < wayPoints.size(); i++) {
      final double latErrorFinal=2 / 111131.745;
      final double lonErrorFinal=2 / 78846.81;
      for (double latError=-latErrorFinal; latError <= latErrorFinal; latError+=5 * latErrorFinal) {
        for (double lonError=-lonErrorFinal; lonError <= lonErrorFinal; lonError+=5 * lonErrorFinal) {
          double lat=wayPoints.get(i).getLatitude() + latError;
          double lon=wayPoints.get(i).getLongitude() + lonError;
          planer.updatePositionEstimate(new GPSPoseMessage(new Date(),lat,lon,currentHeading));
          double angle=Math.PI * planer.getCommandedSteeringAngle() / 180;
          Gui.getInstance().getMainGuiWindow().getAnalyPane().getDataPanel().getGpsPanel().addPointsToMapTree(Color.RED,new LocTuple(lat,-lon));
          Gui.getInstance().getMainGuiWindow().getAnalyPane().getDataPanel().getGpsPanel().addLineToMap(new LocTuple(lat,-lon),angle,Color.RED);
        }
      }
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
}