Program: 180732
Project: 180732
Buggy source:
/** 
 * @param args the command line arguments
 */
public static void main(String[] args){
  System.out.println("String_Node_Str");
  SantaFeTrail model=new SantaFeTrail();
  String modelName="String_Node_Str";
  model.setInitialMaxDepth(4);
  SemanticModule semMod=new AntSemanticModule(model.getTerminals(),model,model.getAnt(),model.getAntLandScape());
  FullInitialiser initialiser=new FullInitialiser(model);
  String genType="String_Node_Str";
  File place=new File("String_Node_Str");
  ArrayList<Integer> sizes=new ArrayList<Integer>();
  sizes.add(new Integer(500));
  sizes.add(new Integer(1000));
  sizes.add(new Integer(1500));
  sizes.add(new Integer(2000));
  sizes.add(new Integer(2500));
  sizes.add(new Integer(3000));
  sizes.add(new Integer(3500));
  sizes.add(new Integer(4000));
  sizes.add(new Integer(4500));
  sizes.add(new Integer(5000));
  ArrayList<Representation> behaviours;
  ArrayList<CandidateProgram> progs, newPop;
  ArrayList<String> dump;
  int syntaxSame, semanticSame;
  Representation specimin;
  for (  Integer size : sizes) {
    System.out.println("String_Node_Str" + size.toString());
    model.setPopulationSize(size);
    dump=new ArrayList<String>();
    dump.add("String_Node_Str" + genType + "String_Node_Str"+ size.toString()+ "String_Node_Str"+ modelName+ "String_Node_Str");
    dump.add("String_Node_Str");
    for (int i=0; i < 100; i++) {
      newPop=(ArrayList<CandidateProgram>)initialiser.getInitialPopulation();
      behaviours=new ArrayList<Representation>();
      progs=new ArrayList<CandidateProgram>();
      semMod.start();
      syntaxSame=0;
      semanticSame=0;
      for (      CandidateProgram testProg : newPop) {
        if (progs.contains(testProg)) {
          syntaxSame++;
        }
 else {
          progs.add(testProg);
        }
        specimin=semMod.codeToBehaviour(testProg);
        boolean marker=false;
        for (        Representation b : behaviours) {
          if (b.equals(specimin)) {
            semanticSame++;
            marker=true;
            break;
          }
        }
        if (!marker) {
          behaviours.add(specimin);
        }
      }
      dump.add(i + "String_Node_Str" + syntaxSame+ "String_Node_Str"+ progs.size()+ "String_Node_Str"+ semanticSame+ "String_Node_Str"+ behaviours.size()+ "String_Node_Str"+ size.toString()+ "String_Node_Str");
      semMod.stop();
      newPop=null;
      behaviours=null;
      progs=null;
      semMod=null;
      System.gc();
    }
    String name=genType + "String_Node_Str" + size.toString()+ "String_Node_Str"+ modelName+ "String_Node_Str";
    FileManip.doOutput(place,dump,name,false);
    dump=null;
    System.gc();
  }
  System.out.println("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * @param args the command line arguments
 */
public static void main(String[] args){
  System.out.println("String_Node_Str");
  SantaFeTrail model=new SantaFeTrail();
  String modelName="String_Node_Str";
  model.setInitialMaxDepth(4);
  SemanticModule semMod=new AntSemanticModule(model.getTerminals(),model.getAnt());
  FullInitialiser initialiser=new FullInitialiser(model);
  String genType="String_Node_Str";
  File place=new File("String_Node_Str");
  ArrayList<Integer> sizes=new ArrayList<Integer>();
  sizes.add(new Integer(500));
  sizes.add(new Integer(1000));
  sizes.add(new Integer(1500));
  sizes.add(new Integer(2000));
  sizes.add(new Integer(2500));
  sizes.add(new Integer(3000));
  sizes.add(new Integer(3500));
  sizes.add(new Integer(4000));
  sizes.add(new Integer(4500));
  sizes.add(new Integer(5000));
  ArrayList<Representation> behaviours;
  ArrayList<CandidateProgram> progs, newPop;
  ArrayList<String> dump;
  int syntaxSame, semanticSame;
  Representation specimin;
  for (  Integer size : sizes) {
    System.out.println("String_Node_Str" + size.toString());
    model.setPopulationSize(size);
    dump=new ArrayList<String>();
    dump.add("String_Node_Str" + genType + "String_Node_Str"+ size.toString()+ "String_Node_Str"+ modelName+ "String_Node_Str");
    dump.add("String_Node_Str");
    for (int i=0; i < 100; i++) {
      newPop=(ArrayList<CandidateProgram>)initialiser.getInitialPopulation();
      behaviours=new ArrayList<Representation>();
      progs=new ArrayList<CandidateProgram>();
      semMod.start();
      syntaxSame=0;
      semanticSame=0;
      for (      CandidateProgram testProg : newPop) {
        if (progs.contains(testProg)) {
          syntaxSame++;
        }
 else {
          progs.add(testProg);
        }
        specimin=semMod.codeToBehaviour(testProg.getRootNode());
        boolean marker=false;
        for (        Representation b : behaviours) {
          if (b.equals(specimin)) {
            semanticSame++;
            marker=true;
            break;
          }
        }
        if (!marker) {
          behaviours.add(specimin);
        }
      }
      dump.add(i + "String_Node_Str" + syntaxSame+ "String_Node_Str"+ progs.size()+ "String_Node_Str"+ semanticSame+ "String_Node_Str"+ behaviours.size()+ "String_Node_Str"+ size.toString()+ "String_Node_Str");
      semMod.stop();
      newPop=null;
      behaviours=null;
      progs=null;
      semMod=null;
      System.gc();
    }
    String name=genType + "String_Node_Str" + size.toString()+ "String_Node_Str"+ modelName+ "String_Node_Str";
    FileManip.doOutput(place,dump,name,false);
    dump=null;
    System.gc();
  }
  System.out.println("String_Node_Str");
}