Program: 187056
Project: 187056
Buggy source:
/** 
 * exec a command.
 * @param args the command as args[0] and its options
 * @param out the printstream to print the output to.
 * @return true if this is an exit command, else false.
 */
public boolean execCmd(String[] args,PrintStream out){
  if ("String_Node_Str".equals(args[0])) {
    return true;
  }
 else   if ("String_Node_Str".equals(args[0])) {
    printHelp(out);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2 || "String_Node_Str".equals(args[1])) {
      printConfig(out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      printActions(out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      printOptions(args.length < 3 ? null : args[2],out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      List actions=joptimizer.getActionFactory().createConfiguredActions();
      printExecActions("String_Node_Str",actions,out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      out.println("String_Node_Str" + joptimizer.getAppStruct().getClassInfos().size() + "String_Node_Str");
      for (Iterator it=joptimizer.getAppStruct().getClassInfos().iterator(); it.hasNext(); ) {
        ClassInfo classInfo=(ClassInfo)it.next();
        out.println(classInfo.getClassName());
      }
    }
 else {
      out.println("String_Node_Str" + args[1]);
      return false;
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    loadConfigFile(args[1],out);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    for (int i=1; i < args.length; i++) {
      printClassInfo(args[i],out);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    joptimizer.getJopConfig().setMainClassName(args[1]);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    joptimizer.getAppStruct().setClassPath(args[1]);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    Set rootClasses=new HashSet(args.length + 2);
    JopConfig jopConfig=joptimizer.getJopConfig();
    rootClasses.add(jopConfig.getMainClassName());
    rootClasses.addAll(jopConfig.getArchConfig().getSystemClasses());
    rootClasses.addAll(Arrays.asList(args).subList(1,args.length));
    jopConfig.setRootClasses(rootClasses);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length != 3) {
      out.println("String_Node_Str");
      return false;
    }
    try {
      joptimizer.getJopConfig().setOption(args[1],args[2]);
    }
 catch (    ConfigurationException e) {
      out.println("String_Node_Str" + e.getMessage());
      logger.info("String_Node_Str",e);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    for (int i=1; i < args.length; i++) {
      String value=joptimizer.getJopConfig().getOption(args[i]);
      if (value != null) {
        out.println(ArgOption.formatOption("String_Node_Str",args[i],value));
      }
 else {
        out.println("String_Node_Str" + args[i]);
      }
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length != 2) {
      out.println("String_Node_Str");
      return false;
    }
    try {
      joptimizer.getJopConfig().setOption(args[1],null);
    }
 catch (    ConfigurationException e) {
      out.println("String_Node_Str" + e.getMessage());
      logger.info("String_Node_Str",e);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    Action action=joptimizer.getActionFactory().createAction(args[1]);
    if (action != null) {
      runAction(action,args,2,out);
    }
 else {
      out.println("String_Node_Str" + args[1]);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    try {
      joptimizer.executeActions();
    }
 catch (    ActionException e) {
      out.print("String_Node_Str");
      out.println(e.getMessage());
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    try {
      joptimizer.loadTransitiveHull(joptimizer.getJopConfig().getRootClasses());
      joptimizer.reloadClassInfos();
    }
 catch (    Exception e) {
      out.print("String_Node_Str");
      out.println(e.getMessage());
      logger.info("String_Node_Str",e);
    }
  }
 else {
    out.println("String_Node_Str" + args[0]);
  }
  return false;
}

Fixed version (ground truth):
/** 
 * exec a command.
 * @param args the command as args[0] and its options
 * @param out the printstream to print the output to.
 * @return true if this is an exit command, else false.
 */
public boolean execCmd(String[] args,PrintStream out){
  if ("String_Node_Str".equals(args[0])) {
    return true;
  }
 else   if ("String_Node_Str".equals(args[0])) {
    printHelp(out);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2 || "String_Node_Str".equals(args[1])) {
      printConfig(out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      printActions(out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      printOptions(args.length < 3 ? null : args[2],out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      List actions=joptimizer.getActionFactory().createConfiguredActions();
      printExecActions("String_Node_Str",actions,out);
    }
 else     if ("String_Node_Str".equals(args[1])) {
      out.println("String_Node_Str" + joptimizer.getAppStruct().getClassInfos().size() + "String_Node_Str");
      for (Iterator it=joptimizer.getAppStruct().getClassInfos().iterator(); it.hasNext(); ) {
        ClassInfo classInfo=(ClassInfo)it.next();
        out.println(classInfo.getClassName());
      }
    }
 else {
      out.println("String_Node_Str" + args[1]);
      return false;
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    loadConfigFile(args[1],out);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    for (int i=1; i < args.length; i++) {
      printClassInfo(args[i],out);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    joptimizer.getJopConfig().setMainClassName(args[1]);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    joptimizer.getAppStruct().setClassPath(args[1]);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    Set rootClasses=new HashSet(args.length + 2);
    JopConfig jopConfig=joptimizer.getJopConfig();
    rootClasses.add(jopConfig.getMainClassName());
    rootClasses.addAll(jopConfig.getArchConfig().getSystemClasses());
    rootClasses.addAll(Arrays.asList(args).subList(1,args.length));
    jopConfig.setRootClasses(rootClasses);
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length != 3) {
      out.println("String_Node_Str");
      return false;
    }
    try {
      joptimizer.getJopConfig().setOption(args[1],args[2]);
    }
 catch (    ConfigurationException e) {
      out.println("String_Node_Str" + e.getMessage());
      logger.info("String_Node_Str",e);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    for (int i=1; i < args.length; i++) {
      String value=joptimizer.getJopConfig().getOption(args[i]);
      if (value != null) {
        out.println(ArgOption.formatOption("String_Node_Str",args[i],value));
      }
 else {
        out.println("String_Node_Str" + args[i]);
      }
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length != 2) {
      out.println("String_Node_Str");
      return false;
    }
    try {
      joptimizer.getJopConfig().setOption(args[1],null);
    }
 catch (    ConfigurationException e) {
      out.println("String_Node_Str" + e.getMessage());
      logger.info("String_Node_Str",e);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length != 3 && args.length != 2) {
      out.println("String_Node_Str");
      return false;
    }
    Level level=Level.toLevel(args[1]);
    if (args.length == 2) {
      out.println("String_Node_Str" + level.toString());
      Logger.getRootLogger().setLevel(level);
    }
 else {
      out.println("String_Node_Str" + level.toString() + "String_Node_Str"+ args[2]);
      Logger.getLogger(args[2]).setLevel(level);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    if (args.length < 2) {
      out.println("String_Node_Str");
      return false;
    }
    Action action=joptimizer.getActionFactory().createAction(args[1]);
    if (action != null) {
      runAction(action,args,2,out);
    }
 else {
      out.println("String_Node_Str" + args[1]);
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    try {
      joptimizer.executeActions();
    }
 catch (    ActionException e) {
      out.print("String_Node_Str");
      out.println(e.getMessage());
    }
  }
 else   if ("String_Node_Str".equals(args[0])) {
    try {
      joptimizer.loadTransitiveHull(joptimizer.getJopConfig().getRootClasses());
      joptimizer.reloadClassInfos();
    }
 catch (    Exception e) {
      out.print("String_Node_Str");
      out.println(e.getMessage());
      logger.info("String_Node_Str",e);
    }
  }
 else {
    out.println("String_Node_Str" + args[0]);
  }
  return false;
}