Program: 153132
Project: 153132
Buggy source:
/** 
 * Method to get a LinkedList of WODs in a range of dates
 * @param (String from) - start of date range
 * @param (String to) - end of date range
 * @return - list of WODs within the range
 */
public LinkedList<WOD> getWODsFromTo(String from,String to){
  LinkedList<WOD> resultList=new LinkedList<WOD>();
  int start, i=0;
  int end=0;
  for (i=0; i < wods.size(); i++) {
    if (wods.get(i).getYear() == Integer.parseInt(from.substring(4,8))) {
      if (wods.get(i).getMonth() > Integer.parseInt(from.substring(2,4))) {
        break;
      }
 else       if (wods.get(i).getMonth() == Integer.parseInt(from.substring(2,4))) {
        if (wods.get(i).getDay() >= Integer.parseInt(from.substring(0,2))) {
          break;
        }
      }
    }
    if (wods.get(i).getYear() > Integer.parseInt(from.substring(4,8))) {
      break;
    }
  }
  start=i;
  for (i=0; i < wods.size(); i++) {
    if (wods.get(i).getYear() == Integer.parseInt(to.substring(4,8))) {
      if (wods.get(i).getMonth() > Integer.parseInt(to.substring(2,4))) {
        break;
      }
 else       if (wods.get(i).getMonth() == Integer.parseInt(to.substring(2,4))) {
        if (wods.get(i).getDay() >= Integer.parseInt(to.substring(0,2))) {
          break;
        }
      }
    }
    if (wods.get(i).getYear() > Integer.parseInt(to.substring(4,8))) {
      break;
    }
  }
  end=i;
  for (i=0; start <= end; start++) {
    resultList.add(wods.get(start));
  }
  WOD checkFirst=resultList.get(0);
  if (checkFirst.getYear() < Integer.parseInt(from.substring(4,8))) {
    resultList.clear();
  }
 else   if (checkFirst.getYear() == Integer.parseInt(from.substring(4,8))) {
    if (checkFirst.getMonth() < Integer.parseInt(from.substring(0,2))) {
      resultList.clear();
    }
 else     if (checkFirst.getYear() == Integer.parseInt(from.substring(0,2))) {
      if (checkFirst.getDay() < Integer.parseInt(from.substring(2,4))) {
        resultList.clear();
      }
    }
  }
  return resultList;
}

Fixed version (ground truth):
/** 
 * Method to get a LinkedList of WODs in a range of dates
 * @param (String from) - start of date range
 * @param (String to) - end of date range
 * @return - list of WODs within the range
 */
public LinkedList<WOD> getWODsFromTo(String from,String to){
  LinkedList<WOD> resultList=new LinkedList<WOD>();
  int start, i=0;
  int end=0;
  for (i=0; i < wods.size(); i++) {
    if (wods.get(i).getYear() == Integer.parseInt(from.substring(4,8))) {
      if (wods.get(i).getMonth() > Integer.parseInt(from.substring(2,4))) {
        break;
      }
 else       if (wods.get(i).getMonth() == Integer.parseInt(from.substring(2,4))) {
        if (wods.get(i).getDay() >= Integer.parseInt(from.substring(0,2))) {
          break;
        }
      }
    }
    if (wods.get(i).getYear() > Integer.parseInt(from.substring(4,8))) {
      break;
    }
  }
  start=i;
  for (i=0; i < wods.size(); i++) {
    if (wods.get(i).getYear() == Integer.parseInt(to.substring(4,8))) {
      if (wods.get(i).getMonth() > Integer.parseInt(to.substring(2,4))) {
        break;
      }
 else       if (wods.get(i).getMonth() == Integer.parseInt(to.substring(2,4))) {
        if (wods.get(i).getDay() >= Integer.parseInt(to.substring(0,2))) {
          break;
        }
      }
    }
    if (wods.get(i).getYear() > Integer.parseInt(to.substring(4,8))) {
      break;
    }
  }
  end=i;
  for (i=0; start <= end; start++) {
    resultList.add(wods.get(start));
  }
  WOD checkFirst=resultList.get(0);
  if (checkFirst.getYear() < Integer.parseInt(from.substring(4,8))) {
    resultList.clear();
  }
 else   if (checkFirst.getYear() == Integer.parseInt(from.substring(4,8))) {
    if (checkFirst.getMonth() < Integer.parseInt(from.substring(0,2))) {
      resultList.clear();
    }
 else     if (checkFirst.getMonth() == Integer.parseInt(from.substring(0,2))) {
      if (checkFirst.getDay() < Integer.parseInt(from.substring(2,4))) {
        resultList.clear();
      }
    }
  }
  return resultList;
}