Program: 37778
Project: 37778
Buggy source:
public void setArgs(String[] args){
  ArgumentParser aParser;
  String inputFileName=null;
  for (int i=0; i < args.length - 1; i++) {
    if (args[i].equals("String_Node_Str"))     inputFileName=args[i + 1];
  }
  if (inputFileName == null) {
    if (verbosity >= 3)     System.out.println("String_Node_Str");
    aParser=new ArgumentParser(args);
  }
 else {
    aParser=new ArgumentParser(args,inputFileName);
  }
  for (  Pair<String,List<String>> p : aParser.getOptions()) {
    String flag=p.getFirst();
    List<String> arguments=p.getSecond();
    if (flag.equals("String_Node_Str"))     usage("String_Node_Str",true);
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     verbosity=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     runTitle=arguments.get(0);
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      outDirName="String_Node_Str";
      for (      String s : arguments)       outDirName+=s;
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minInteratomicDistance=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxLatticeLength=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minLatticeLength=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxLatticeAngle=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minLatticeAngle=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxNumAtoms=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minNumAtoms=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minNumSpecies=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     doNonnegativityConstraint=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     dValue=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     endGameNumGens=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     useNiggliReducedCell=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     popSize=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     keepTempFiles=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     saveStateEachIter=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      redundancyGuardType=arguments.get(0);
      redundancyGuardArgs=Utility.subList(arguments,1);
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      useSurrogate=true;
      surrogateArgs=arguments;
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      optimizeDensity=true;
      if (optimizeDensity) {
        if (arguments.size() < 2)         usage("String_Node_Str",true);
        weightDenAdapt=Double.parseDouble(arguments.get(0));
        numDenAdapt=Integer.parseInt(arguments.get(1));
      }
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      maxNearestNeighborLength=Double.parseDouble(arguments.get(0));
      notNearestNeighbors=GAUtils.parsePairs(Utility.subList(arguments,1));
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     dryRun=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      if (arguments.size() < 2)       usage("String_Node_Str",true);
      objFcnArgs=arguments;
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      numCalcsInParallel=Integer.parseInt(arguments.get(0));
      minPopSize=Integer.parseInt(arguments.get(1));
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       sel=new ProbDistSelection(Utility.subList(arguments,1));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       sel=null;
 else       usage("String_Node_Str" + arguments.get(0),true);
    }
 else     if (flag.toLowerCase().startsWith("String_Node_Str")) {
      if (arguments.size() < 3)       usage("String_Node_Str",true);
      String variation=arguments.get(2);
      initialVarProbs.add(Double.parseDouble(arguments.get(0)));
      endgameVarProbs.add(Double.parseDouble(arguments.get(1)));
      if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new Slicer(Utility.subList(arguments,3)));
 else       if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new StructureMut(Utility.subList(arguments,3)));
 else       if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new Permutation(Utility.subList(arguments,3)));
 else       if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new NumStoichsMut(Utility.subList(arguments,3)));
 else       usage("String_Node_Str" + variation,true);
    }
 else     if (flag.toLowerCase().startsWith("String_Node_Str")) {
      if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new NumFunctionEvalsCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new NumGensCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new NumGensWOImprCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new ValueAchievedCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new FoundStructureCC(Utility.subList(arguments,1)));
 else       usage("String_Node_Str" + arguments.get(0),true);
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      pro=new Promotion(arguments);
    }
 else     if (flag.toLowerCase().startsWith("String_Node_Str")) {
      if (arguments.size() < 2)       this.usage("String_Node_Str",true);
      Integer numOrgs=new Integer(Integer.parseInt(arguments.get(0)));
      String creatorType=arguments.get(1);
      if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new RandomSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else       if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new ManualSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else       if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new GivenSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else       if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new UnitsSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else {
        usage("String_Node_Str" + creatorType,true);
      }
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      List<String> csArgs=new LinkedList<String>();
      for (      String s : p.getSecond())       csArgs.add(s);
      compSpace=new CompositionSpace(csArgs,false);
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      writeHartkeFile=Boolean.parseBoolean(arguments.get(0));
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      colorOutput=Boolean.parseBoolean(arguments.get(0));
    }
 else     if (!flag.equalsIgnoreCase("String_Node_Str") && verbosity >= 1)     System.out.println("String_Node_Str" + flag);
  }
  dev=new StructureDev();
  if (outDirName == null)   outDirName=new String("String_Node_Str" + runTitle);
  checkInputs();
}

Fixed version (ground truth):
public void setArgs(String[] args){
  ArgumentParser aParser;
  String inputFileName=null;
  for (int i=0; i < args.length - 1; i++) {
    if (args[i].equals("String_Node_Str"))     inputFileName=args[i + 1];
  }
  if (inputFileName == null) {
    if (verbosity >= 3)     System.out.println("String_Node_Str");
    aParser=new ArgumentParser(args);
  }
 else {
    aParser=new ArgumentParser(args,inputFileName);
  }
  for (  Pair<String,List<String>> p : aParser.getOptions()) {
    String flag=p.getFirst();
    List<String> arguments=p.getSecond();
    if (flag.equals("String_Node_Str"))     usage("String_Node_Str",true);
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     verbosity=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     runTitle=arguments.get(0);
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      outDirName="String_Node_Str";
      for (      String s : arguments)       outDirName+=s;
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minInteratomicDistance=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxLatticeLength=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minLatticeLength=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxLatticeAngle=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minLatticeAngle=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxCellHeight=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     maxNumAtoms=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minNumAtoms=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     minNumSpecies=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     doNonnegativityConstraint=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     dValue=Double.parseDouble(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     endGameNumGens=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     useNiggliReducedCell=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     popSize=Integer.parseInt(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     keepTempFiles=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     saveStateEachIter=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      redundancyGuardType=arguments.get(0);
      redundancyGuardArgs=Utility.subList(arguments,1);
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      useSurrogate=true;
      surrogateArgs=arguments;
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      optimizeDensity=true;
      if (optimizeDensity) {
        if (arguments.size() < 2)         usage("String_Node_Str",true);
        weightDenAdapt=Double.parseDouble(arguments.get(0));
        numDenAdapt=Integer.parseInt(arguments.get(1));
      }
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      maxNearestNeighborLength=Double.parseDouble(arguments.get(0));
      notNearestNeighbors=GAUtils.parsePairs(Utility.subList(arguments,1));
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str"))     dryRun=Boolean.parseBoolean(arguments.get(0));
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      if (arguments.size() < 2)       usage("String_Node_Str",true);
      objFcnArgs=arguments;
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      numCalcsInParallel=Integer.parseInt(arguments.get(0));
      minPopSize=Integer.parseInt(arguments.get(1));
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       sel=new ProbDistSelection(Utility.subList(arguments,1));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       sel=null;
 else       usage("String_Node_Str" + arguments.get(0),true);
    }
 else     if (flag.toLowerCase().startsWith("String_Node_Str")) {
      if (arguments.size() < 3)       usage("String_Node_Str",true);
      String variation=arguments.get(2);
      initialVarProbs.add(Double.parseDouble(arguments.get(0)));
      endgameVarProbs.add(Double.parseDouble(arguments.get(1)));
      if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new Slicer(Utility.subList(arguments,3)));
 else       if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new StructureMut(Utility.subList(arguments,3)));
 else       if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new Permutation(Utility.subList(arguments,3)));
 else       if (variation.equalsIgnoreCase("String_Node_Str"))       vars.add(new NumStoichsMut(Utility.subList(arguments,3)));
 else       usage("String_Node_Str" + variation,true);
    }
 else     if (flag.toLowerCase().startsWith("String_Node_Str")) {
      if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new NumFunctionEvalsCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new NumGensCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new NumGensWOImprCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new ValueAchievedCC(Utility.subList(arguments,1)));
 else       if (arguments.get(0).equalsIgnoreCase("String_Node_Str"))       ccs.add(new FoundStructureCC(Utility.subList(arguments,1)));
 else       usage("String_Node_Str" + arguments.get(0),true);
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      pro=new Promotion(arguments);
    }
 else     if (flag.toLowerCase().startsWith("String_Node_Str")) {
      if (arguments.size() < 2)       this.usage("String_Node_Str",true);
      Integer numOrgs=new Integer(Integer.parseInt(arguments.get(0)));
      String creatorType=arguments.get(1);
      if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new RandomSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else       if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new ManualSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else       if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new GivenSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else       if (creatorType.equalsIgnoreCase("String_Node_Str")) {
        initialOrgCreators.add(new Pair<StructureOrgCreator,Integer>(new UnitsSOCreator(Utility.subList(arguments,2)),numOrgs));
      }
 else {
        usage("String_Node_Str" + creatorType,true);
      }
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      List<String> csArgs=new LinkedList<String>();
      for (      String s : p.getSecond())       csArgs.add(s);
      compSpace=new CompositionSpace(csArgs,false);
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      writeHartkeFile=Boolean.parseBoolean(arguments.get(0));
    }
 else     if (flag.equalsIgnoreCase("String_Node_Str")) {
      colorOutput=Boolean.parseBoolean(arguments.get(0));
    }
 else     if (!flag.equalsIgnoreCase("String_Node_Str") && verbosity >= 1)     System.out.println("String_Node_Str" + flag);
  }
  dev=new StructureDev();
  if (outDirName == null)   outDirName=new String("String_Node_Str" + runTitle);
  checkInputs();
}