Program: 39285
Project: 39285
Buggy source:
public static void loadClasses(){
  try {
    ActivationFunctions.initFunctionSet();
    setupSaveDirectory();
    fitnessFunctions=new ArrayList<String>();
    aggregationOverrides=new ArrayList<Statistic>();
    boolean loadFrom=!Parameters.parameters.stringParameter("String_Node_Str").equals("String_Node_Str");
    System.out.println("String_Node_Str");
    EvolutionaryHistory.initGenotypeIds();
    weightPerturber=(RandomGenerator)ClassCreation.createObject("String_Node_Str");
    setupCrossover();
    setupRLGlue();
    setupFunctionOptimization();
    System.out.println("String_Node_Str");
    if (taskHasSubnetworks()) {
      modesToTrack=Parameters.parameters.integerParameter("String_Node_Str");
    }
 else {
      int multitaskModes=CommonConstants.multitaskModules;
      if (!CommonConstants.hierarchicalMultitask && multitaskModes > 1) {
        modesToTrack=multitaskModes;
      }
    }
    task=(Task)ClassCreation.createObject("String_Node_Str");
    boolean coevolution=false;
    if (Parameters.parameters.booleanParameter("String_Node_Str") && Parameters.parameters.stringParameter("String_Node_Str").equals("String_Node_Str") && Parameters.parameters.integerParameter("String_Node_Str") == 0) {
      System.out.println("String_Node_Str");
      Parameters.parameters.setDouble("String_Node_Str",0.999);
    }
    if (task instanceof MsPacManTask) {
      setupGenotypePoolsForMsPacman();
      System.out.println("String_Node_Str");
      pacmanInputOutputMediator=(MsPacManControllerInputOutputMediator)ClassCreation.createObject("String_Node_Str");
      if (MMNEAT.pacmanInputOutputMediator instanceof VariableDirectionBlockLoadedInputOutputMediator) {
        directionalSafetyFunction=(VariableDirectionBlock)ClassCreation.createObject("String_Node_Str");
        ensembleArbitrator=(MsPacManEnsembleArbitrator)ClassCreation.createObject("String_Node_Str");
      }
      String preferenceNet=Parameters.parameters.stringParameter("String_Node_Str");
      String multitaskNet=Parameters.parameters.stringParameter("String_Node_Str");
      if (multitaskNet != null && !multitaskNet.isEmpty()) {
        MMNEAT.sharedMultitaskNetwork=(TWEANNGenotype)Easy.load(multitaskNet);
        if (CommonConstants.showNetworks) {
          DrawingPanel panel=new DrawingPanel(TWEANN.NETWORK_VIEW_DIM,TWEANN.NETWORK_VIEW_DIM,"String_Node_Str");
          MMNEAT.sharedMultitaskNetwork.getPhenotype().draw(panel);
        }
        setNNInputParameters(pacmanInputOutputMediator.numIn(),MMNEAT.sharedMultitaskNetwork.numModules);
      }
 else       if (preferenceNet != null && !preferenceNet.isEmpty()) {
        MMNEAT.sharedPreferenceNetwork=(TWEANNGenotype)Easy.load(preferenceNet);
        if (CommonConstants.showNetworks) {
          DrawingPanel panel=new DrawingPanel(TWEANN.NETWORK_VIEW_DIM,TWEANN.NETWORK_VIEW_DIM,"String_Node_Str");
          MMNEAT.sharedPreferenceNetwork.getPhenotype().draw(panel);
        }
        setNNInputParameters(pacmanInputOutputMediator.numIn(),MMNEAT.sharedPreferenceNetwork.numOut);
      }
 else       if (Parameters.parameters.booleanParameter("String_Node_Str")) {
        System.out.println("String_Node_Str");
        ghostsInputOutputMediator=new GhostsCheckEachDirectionMediator();
        setNNInputParameters(ghostsInputOutputMediator.numIn(),ghostsInputOutputMediator.numOut());
      }
 else {
        setNNInputParameters(pacmanInputOutputMediator.numIn(),pacmanInputOutputMediator.numOut());
      }
      setupMsPacmanParameters();
      if (CommonConstants.multitaskModules > 1) {
        pacmanMultitaskScheme=(MsPacManModeSelector)ClassCreation.createObject("String_Node_Str");
      }
    }
 else     if (task instanceof CooperativeMsPacManTask) {
      System.out.println("String_Node_Str");
      coevolution=true;
      EvolutionaryHistory.initInnovationHistory();
      setupMsPacmanParameters();
      if (task instanceof CooperativeGhostMonitorNetworksMsPacManTask) {
        setupCooperativeCoevolutionGhostMonitorsForMsPacman();
      }
 else       if (task instanceof CooperativeSubtaskSelectorMsPacManTask) {
        setupCooperativeCoevolutionSelectorForMsPacman();
      }
 else       if (task instanceof CooperativeSubtaskCombinerMsPacManTask) {
        setupCooperativeCoevolutionCombinerForMsPacman();
      }
 else       if (task instanceof CooperativeNonHierarchicalMultiNetMsPacManTask) {
        setupCooperativeCoevolutionNonHierarchicalForMsPacman();
      }
 else       if (task instanceof CooperativeCheckEachMultitaskSelectorMsPacManTask) {
        setupCooperativeCoevolutionCheckEachMultitaskPreferenceNetForMsPacman();
      }
    }
 else     if (task instanceof RLGlueTask) {
      RLGlueTask rlTask=(RLGlueTask)task;
      setNNInputParameters(rlGlueExtractor.numFeatures(),rlTask.agent.getNumberOutputs());
    }
 else     if (task instanceof Breve2DTask) {
      System.out.println("String_Node_Str");
      Breve2DDynamics dynamics=(Breve2DDynamics)ClassCreation.createObject("String_Node_Str");
      setNNInputParameters(dynamics.numInputSensors(),NNBreve2DMonster.NUM_OUTPUTS);
    }
 else     if (task instanceof TorusPredPreyTask) {
      System.out.println("String_Node_Str");
      int numInputs=determineNumPredPreyInputs();
      NetworkTask t=(NetworkTask)task;
      setNNInputParameters(numInputs,t.outputLabels().length);
    }
 else     if (task instanceof CooperativeTorusPredPreyTask) {
      System.out.println("String_Node_Str");
      int numInputs=determineNumPredPreyInputs();
      NetworkTask t=(NetworkTask)task;
      setNNInputParameters(numInputs,t.outputLabels().length);
      genotype=(Genotype)ClassCreation.createObject("String_Node_Str");
      int numAgents=(task instanceof CooperativePredatorsVsStaticPrey) ? Parameters.parameters.integerParameter("String_Node_Str") : Parameters.parameters.integerParameter("String_Node_Str");
      genotypeExamples=new ArrayList<Genotype>(numAgents);
      for (int i=0; i < numAgents; i++) {
        if (genotype instanceof TWEANNGenotype) {
          ((TWEANNGenotype)genotype).archetypeIndex=i;
        }
        genotypeExamples.add(genotype.newInstance());
      }
      prepareCoevolutionArchetypes();
    }
 else     if (task instanceof UT2004Task) {
      System.out.println("String_Node_Str");
      UT2004Task utTask=(UT2004Task)task;
      setNNInputParameters(utTask.sensorModel.numberOfSensors(),utTask.outputModel.numberOfOutputs());
    }
 else     if (task instanceof MatchDataTask) {
      System.out.println("String_Node_Str");
      MatchDataTask t=(MatchDataTask)task;
      setNNInputParameters(t.numInputs(),t.numOutputs());
    }
 else     if (task instanceof VizDoomTask) {
      System.out.println("String_Node_Str");
      VizDoomTask t=(VizDoomTask)task;
      setNNInputParameters(t.numInputs(),t.numActions());
    }
 else     if (task == null) {
      setNNInputParameters(5,3);
    }
 else {
      System.out.println("String_Node_Str");
      System.out.println(task);
      System.exit(1);
    }
    if (CommonConstants.hyperNEAT) {
      System.out.println("String_Node_Str");
      hyperNEATOverrides();
    }
    setupMetaHeuristics();
    if (!loadFrom) {
      System.out.println("String_Node_Str");
      ea=(GenerationalEA)ClassCreation.createObject("String_Node_Str");
    }
    System.out.println("String_Node_Str");
    String seedGenotype=Parameters.parameters.stringParameter("String_Node_Str");
    if (task instanceof MsPacManTask && Parameters.parameters.booleanParameter("String_Node_Str") && CommonConstants.multitaskModules == 2) {
      System.out.println("String_Node_Str");
      String ghostDir=Parameters.parameters.stringParameter("String_Node_Str");
      String pillDir=Parameters.parameters.stringParameter("String_Node_Str");
      String lastSavedDirectory=Parameters.parameters.stringParameter("String_Node_Str");
      if (lastSavedDirectory.isEmpty()) {
        if (!ghostDir.isEmpty() && !pillDir.isEmpty()) {
          setupMultitaskSeedPopulationForMsPacman(ghostDir,pillDir);
        }
 else {
          setupSingleMultitaskSeedForMsPacman();
        }
      }
      System.out.println("String_Node_Str");
      MsPacManControllerInputOutputMediator ghostMediator=(MsPacManControllerInputOutputMediator)ClassCreation.createObject("String_Node_Str");
      MsPacManControllerInputOutputMediator pillMediator=(MsPacManControllerInputOutputMediator)ClassCreation.createObject("String_Node_Str");
      pacmanInputOutputMediator=new MultipleInputOutputMediator(new MsPacManControllerInputOutputMediator[]{ghostMediator,pillMediator});
      setNNInputParameters(pacmanInputOutputMediator.numIn(),pacmanInputOutputMediator.numOut());
    }
 else     if (seedGenotype.isEmpty()) {
      genotype=(Genotype)ClassCreation.createObject("String_Node_Str");
    }
 else {
      System.out.println("String_Node_Str" + seedGenotype);
      genotype=((Genotype)Easy.load(seedGenotype)).copy();
      seedExample=true;
    }
    setupTWEANNGenotypeDataTracking(coevolution);
    System.out.println("String_Node_Str");
    experiment=(Experiment)ClassCreation.createObject("String_Node_Str");
    experiment.init();
    if (!loadFrom && Parameters.parameters.booleanParameter("String_Node_Str")) {
      if (Parameters.parameters.booleanParameter("String_Node_Str") && !coevolution) {
        performanceLog=new PerformanceLog("String_Node_Str");
      }
      if (Parameters.parameters.booleanParameter("String_Node_Str")) {
        EvolutionaryHistory.initLineageAndMutationLogs();
      }
    }
  }
 catch (  Exception ex) {
    System.out.println("String_Node_Str" + ex);
    ex.printStackTrace();
  }
}

Fixed version (ground truth):
public static void loadClasses(){
  try {
    ActivationFunctions.initFunctionSet();
    setupSaveDirectory();
    fitnessFunctions=new ArrayList<String>();
    aggregationOverrides=new ArrayList<Statistic>();
    boolean loadFrom=!Parameters.parameters.stringParameter("String_Node_Str").equals("String_Node_Str");
    System.out.println("String_Node_Str");
    EvolutionaryHistory.initGenotypeIds();
    weightPerturber=(RandomGenerator)ClassCreation.createObject("String_Node_Str");
    setupCrossover();
    setupRLGlue();
    setupFunctionOptimization();
    System.out.println("String_Node_Str");
    if (taskHasSubnetworks()) {
      modesToTrack=Parameters.parameters.integerParameter("String_Node_Str");
    }
 else {
      int multitaskModes=CommonConstants.multitaskModules;
      if (!CommonConstants.hierarchicalMultitask && multitaskModes > 1) {
        modesToTrack=multitaskModes;
      }
    }
    task=(Task)ClassCreation.createObject("String_Node_Str");
    boolean coevolution=false;
    if (Parameters.parameters.booleanParameter("String_Node_Str") && Parameters.parameters.stringParameter("String_Node_Str").equals("String_Node_Str") && Parameters.parameters.integerParameter("String_Node_Str") == 0) {
      System.out.println("String_Node_Str");
      Parameters.parameters.setDouble("String_Node_Str",0.999);
    }
    if (task instanceof MsPacManTask) {
      setupGenotypePoolsForMsPacman();
      System.out.println("String_Node_Str");
      pacmanInputOutputMediator=(MsPacManControllerInputOutputMediator)ClassCreation.createObject("String_Node_Str");
      if (MMNEAT.pacmanInputOutputMediator instanceof VariableDirectionBlockLoadedInputOutputMediator) {
        directionalSafetyFunction=(VariableDirectionBlock)ClassCreation.createObject("String_Node_Str");
        ensembleArbitrator=(MsPacManEnsembleArbitrator)ClassCreation.createObject("String_Node_Str");
      }
      String preferenceNet=Parameters.parameters.stringParameter("String_Node_Str");
      String multitaskNet=Parameters.parameters.stringParameter("String_Node_Str");
      if (multitaskNet != null && !multitaskNet.isEmpty()) {
        MMNEAT.sharedMultitaskNetwork=(TWEANNGenotype)Easy.load(multitaskNet);
        if (CommonConstants.showNetworks) {
          DrawingPanel panel=new DrawingPanel(TWEANN.NETWORK_VIEW_DIM,TWEANN.NETWORK_VIEW_DIM,"String_Node_Str");
          MMNEAT.sharedMultitaskNetwork.getPhenotype().draw(panel);
        }
        setNNInputParameters(pacmanInputOutputMediator.numIn(),MMNEAT.sharedMultitaskNetwork.numModules);
      }
 else       if (preferenceNet != null && !preferenceNet.isEmpty()) {
        MMNEAT.sharedPreferenceNetwork=(TWEANNGenotype)Easy.load(preferenceNet);
        if (CommonConstants.showNetworks) {
          DrawingPanel panel=new DrawingPanel(TWEANN.NETWORK_VIEW_DIM,TWEANN.NETWORK_VIEW_DIM,"String_Node_Str");
          MMNEAT.sharedPreferenceNetwork.getPhenotype().draw(panel);
        }
        setNNInputParameters(pacmanInputOutputMediator.numIn(),MMNEAT.sharedPreferenceNetwork.numOut);
      }
 else       if (Parameters.parameters.booleanParameter("String_Node_Str")) {
        System.out.println("String_Node_Str");
        ghostsInputOutputMediator=new GhostsCheckEachDirectionMediator();
        setNNInputParameters(ghostsInputOutputMediator.numIn(),ghostsInputOutputMediator.numOut());
      }
 else {
        setNNInputParameters(pacmanInputOutputMediator.numIn(),pacmanInputOutputMediator.numOut());
      }
      setupMsPacmanParameters();
      if (CommonConstants.multitaskModules > 1) {
        pacmanMultitaskScheme=(MsPacManModeSelector)ClassCreation.createObject("String_Node_Str");
      }
    }
 else     if (task instanceof CooperativeMsPacManTask) {
      System.out.println("String_Node_Str");
      coevolution=true;
      EvolutionaryHistory.initInnovationHistory();
      setupMsPacmanParameters();
      if (task instanceof CooperativeGhostMonitorNetworksMsPacManTask) {
        setupCooperativeCoevolutionGhostMonitorsForMsPacman();
      }
 else       if (task instanceof CooperativeSubtaskSelectorMsPacManTask) {
        setupCooperativeCoevolutionSelectorForMsPacman();
      }
 else       if (task instanceof CooperativeSubtaskCombinerMsPacManTask) {
        setupCooperativeCoevolutionCombinerForMsPacman();
      }
 else       if (task instanceof CooperativeNonHierarchicalMultiNetMsPacManTask) {
        setupCooperativeCoevolutionNonHierarchicalForMsPacman();
      }
 else       if (task instanceof CooperativeCheckEachMultitaskSelectorMsPacManTask) {
        setupCooperativeCoevolutionCheckEachMultitaskPreferenceNetForMsPacman();
      }
    }
 else     if (task instanceof RLGlueTask) {
      RLGlueTask rlTask=(RLGlueTask)task;
      setNNInputParameters(rlGlueExtractor.numFeatures(),rlTask.agent.getNumberOutputs());
    }
 else     if (task instanceof Breve2DTask) {
      System.out.println("String_Node_Str");
      Breve2DDynamics dynamics=(Breve2DDynamics)ClassCreation.createObject("String_Node_Str");
      setNNInputParameters(dynamics.numInputSensors(),NNBreve2DMonster.NUM_OUTPUTS);
    }
 else     if (task instanceof TorusPredPreyTask) {
      System.out.println("String_Node_Str");
      int numInputs=determineNumPredPreyInputs();
      NetworkTask t=(NetworkTask)task;
      setNNInputParameters(numInputs,t.outputLabels().length);
    }
 else     if (task instanceof CooperativeTorusPredPreyTask) {
      System.out.println("String_Node_Str");
      coevolution=true;
      int numInputs=determineNumPredPreyInputs();
      NetworkTask t=(NetworkTask)task;
      setNNInputParameters(numInputs,t.outputLabels().length);
      genotype=(Genotype)ClassCreation.createObject("String_Node_Str");
      int numAgents=(task instanceof CooperativePredatorsVsStaticPrey) ? Parameters.parameters.integerParameter("String_Node_Str") : Parameters.parameters.integerParameter("String_Node_Str");
      genotypeExamples=new ArrayList<Genotype>(numAgents);
      for (int i=0; i < numAgents; i++) {
        if (genotype instanceof TWEANNGenotype) {
          ((TWEANNGenotype)genotype).archetypeIndex=i;
        }
        genotypeExamples.add(genotype.newInstance());
      }
      prepareCoevolutionArchetypes();
    }
 else     if (task instanceof UT2004Task) {
      System.out.println("String_Node_Str");
      UT2004Task utTask=(UT2004Task)task;
      setNNInputParameters(utTask.sensorModel.numberOfSensors(),utTask.outputModel.numberOfOutputs());
    }
 else     if (task instanceof MatchDataTask) {
      System.out.println("String_Node_Str");
      MatchDataTask t=(MatchDataTask)task;
      setNNInputParameters(t.numInputs(),t.numOutputs());
    }
 else     if (task instanceof VizDoomTask) {
      System.out.println("String_Node_Str");
      VizDoomTask t=(VizDoomTask)task;
      setNNInputParameters(t.numInputs(),t.numActions());
    }
 else     if (task == null) {
      setNNInputParameters(5,3);
    }
 else {
      System.out.println("String_Node_Str");
      System.out.println(task);
      System.exit(1);
    }
    if (CommonConstants.hyperNEAT) {
      System.out.println("String_Node_Str");
      hyperNEATOverrides();
    }
    setupMetaHeuristics();
    if (!loadFrom) {
      System.out.println("String_Node_Str");
      ea=(GenerationalEA)ClassCreation.createObject("String_Node_Str");
    }
    System.out.println("String_Node_Str");
    String seedGenotype=Parameters.parameters.stringParameter("String_Node_Str");
    if (task instanceof MsPacManTask && Parameters.parameters.booleanParameter("String_Node_Str") && CommonConstants.multitaskModules == 2) {
      System.out.println("String_Node_Str");
      String ghostDir=Parameters.parameters.stringParameter("String_Node_Str");
      String pillDir=Parameters.parameters.stringParameter("String_Node_Str");
      String lastSavedDirectory=Parameters.parameters.stringParameter("String_Node_Str");
      if (lastSavedDirectory.isEmpty()) {
        if (!ghostDir.isEmpty() && !pillDir.isEmpty()) {
          setupMultitaskSeedPopulationForMsPacman(ghostDir,pillDir);
        }
 else {
          setupSingleMultitaskSeedForMsPacman();
        }
      }
      System.out.println("String_Node_Str");
      MsPacManControllerInputOutputMediator ghostMediator=(MsPacManControllerInputOutputMediator)ClassCreation.createObject("String_Node_Str");
      MsPacManControllerInputOutputMediator pillMediator=(MsPacManControllerInputOutputMediator)ClassCreation.createObject("String_Node_Str");
      pacmanInputOutputMediator=new MultipleInputOutputMediator(new MsPacManControllerInputOutputMediator[]{ghostMediator,pillMediator});
      setNNInputParameters(pacmanInputOutputMediator.numIn(),pacmanInputOutputMediator.numOut());
    }
 else     if (seedGenotype.isEmpty()) {
      genotype=(Genotype)ClassCreation.createObject("String_Node_Str");
    }
 else {
      System.out.println("String_Node_Str" + seedGenotype);
      genotype=((Genotype)Easy.load(seedGenotype)).copy();
      seedExample=true;
    }
    setupTWEANNGenotypeDataTracking(coevolution);
    System.out.println("String_Node_Str");
    experiment=(Experiment)ClassCreation.createObject("String_Node_Str");
    experiment.init();
    if (!loadFrom && Parameters.parameters.booleanParameter("String_Node_Str")) {
      if (Parameters.parameters.booleanParameter("String_Node_Str") && !coevolution) {
        performanceLog=new PerformanceLog("String_Node_Str");
      }
      if (Parameters.parameters.booleanParameter("String_Node_Str")) {
        EvolutionaryHistory.initLineageAndMutationLogs();
      }
    }
  }
 catch (  Exception ex) {
    System.out.println("String_Node_Str" + ex);
    ex.printStackTrace();
  }
}