Program: 66408
Project: 66408
Buggy source:
public static MemberTreeNode[] createDayOfMonth(int year,int month){
  boolean isLeapYear=false;
  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
    isLeapYear=true;
  }
  MemberTreeNode[] nodes=new MemberTreeNode[0];
  if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
    nodes=new MemberTreeNode[31];
    for (int i=1; i <= nodes.length; i++) {
      Member member=new Member();
      member.setKeyValues(new Object[]{new Integer(i)});
      nodes[i - 1]=new MemberTreeNode(member);
    }
  }
 else   if (month == 2) {
    if (isLeapYear) {
      nodes=new MemberTreeNode[29];
      for (int i=1; i <= nodes.length; i++) {
        Member member=new Member();
        member.setKeyValues(new Object[]{Integer.valueOf(i)});
        nodes[i - 1]=new MemberTreeNode(member);
      }
    }
 else {
      nodes=new MemberTreeNode[28];
      for (int i=1; i <= nodes.length; i++) {
        Member member=new Member();
        member.setKeyValues(new Object[]{Integer.valueOf(i)});
        nodes[i - 1]=new MemberTreeNode(member);
      }
    }
  }
 else {
    nodes=new MemberTreeNode[30];
    for (int i=1; i <= nodes.length; i++) {
      Member member=new Member();
      member.setKeyValues(new Object[]{Integer.valueOf(i)});
      nodes[i - 1]=new MemberTreeNode(member);
    }
  }
  return nodes;
}

Fixed version (ground truth):
private static MemberTreeNode[] createDayOfMonth(int year,int month){
  boolean isLeapYear=false;
  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
    isLeapYear=true;
  }
  MemberTreeNode[] nodes=new MemberTreeNode[0];
  if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
    nodes=new MemberTreeNode[31];
    for (int i=1; i <= nodes.length; i++) {
      Member member=new Member();
      member.setKeyValues(new Object[]{new Integer(i)});
      calendar.set(Calendar.MONTH,month - 1);
      calendar.set(Calendar.DATE,i);
      member.setAttributes(new Object[]{calendar.getTime()});
      nodes[i - 1]=new MemberTreeNode(member);
    }
  }
 else   if (month == 2) {
    if (isLeapYear) {
      nodes=new MemberTreeNode[29];
      for (int i=1; i <= nodes.length; i++) {
        Member member=new Member();
        member.setKeyValues(new Object[]{Integer.valueOf(i)});
        calendar.set(Calendar.MONTH,month - 1);
        calendar.set(Calendar.DATE,i);
        member.setAttributes(new Object[]{calendar.getTime()});
        nodes[i - 1]=new MemberTreeNode(member);
      }
    }
 else {
      nodes=new MemberTreeNode[28];
      for (int i=1; i <= nodes.length; i++) {
        Member member=new Member();
        member.setKeyValues(new Object[]{Integer.valueOf(i)});
        calendar.set(Calendar.MONTH,month - 1);
        calendar.set(Calendar.DATE,i);
        member.setAttributes(new Object[]{calendar.getTime()});
        nodes[i - 1]=new MemberTreeNode(member);
      }
    }
  }
 else {
    nodes=new MemberTreeNode[30];
    for (int i=1; i <= nodes.length; i++) {
      Member member=new Member();
      member.setKeyValues(new Object[]{Integer.valueOf(i)});
      calendar.set(Calendar.MONTH,month - 1);
      calendar.set(Calendar.DATE,i);
      member.setAttributes(new Object[]{calendar.getTime()});
      nodes[i - 1]=new MemberTreeNode(member);
    }
  }
  return nodes;
}