Program: 113600
Project: 113600
Buggy source:
/** 
 * @param args
 */
public static void main(String[] args){
  Logging.start(Logging.LEVEL_ERROR);
  try {
    TimeSync.initialize(null,60000,50);
  }
 catch (  Exception ex) {
    ex.printStackTrace();
    System.exit(1);
  }
  Map<String,CliOption> options=new HashMap<String,CliOption>();
  List<String> arguments=new ArrayList<String>(3);
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.URL));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.SWITCH));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  try {
    CLIParser.parseCLI(args,options,arguments);
  }
 catch (  Exception exc) {
    System.out.println(exc);
    usage();
    return;
  }
  CliOption h=options.get("String_Node_Str");
  if (h.switchValue) {
    usage();
    return;
  }
  CliOption mrc=options.get("String_Node_Str");
  if (mrc.urlValue == null) {
    System.out.println("String_Node_Str");
    usage();
    return;
  }
  if (arguments.size() < 2) {
    usage();
    return;
  }
  String op=arguments.get(0);
  if (!"String_Node_Str".equals(op) && !"String_Node_Str".equals(op)) {
    System.out.println("String_Node_Str" + op);
    usage();
    return;
  }
  String dumpFile=arguments.get(1);
  CliOption c=options.get("String_Node_Str");
  CliOption cp=options.get("String_Node_Str");
  CliOption t=options.get("String_Node_Str");
  CliOption tp=options.get("String_Node_Str");
  CliOption p=options.get("String_Node_Str");
  String host=mrc.urlValue.getHost();
  int port=mrc.urlValue.getPort();
  String protocol=mrc.urlValue.getProtocol();
  RPCNIOSocketClient rpcClient=null;
  try {
    SSLOptions sslOptions=protocol.startsWith("String_Node_Str") ? new SSLOptions(new FileInputStream(c.stringValue),cp.stringValue,new FileInputStream(t.stringValue),tp.stringValue) : null;
    rpcClient=new RPCNIOSocketClient(sslOptions,Integer.MAX_VALUE - 1000,Integer.MAX_VALUE);
    rpcClient.start();
    MRCClient client=new MRCClient(rpcClient,new InetSocketAddress(host,port));
    StringSet gids=new StringSet();
    gids.add("String_Node_Str");
    UserCredentials creds=new UserCredentials("String_Node_Str",gids,p == null ? "String_Node_Str" : p.stringValue);
    if (op.equals("String_Node_Str")) {
      RPCResponse<Object> r=null;
      try {
        r=client.xtreemfs_dump_database(null,creds,dumpFile);
        r.get();
      }
  finally {
        if (r != null)         r.freeBuffers();
      }
    }
 else     if (op.equals("String_Node_Str")) {
      RPCResponse<Object> r=null;
      try {
        r=client.xtreemfs_restore_database(null,creds,dumpFile);
        r.get();
      }
  finally {
        if (r != null)         r.freeBuffers();
      }
    }
 else     usage();
  }
 catch (  MRCException exc) {
    if (exc.getError_code() == ErrNo.EPERM)     System.out.println("String_Node_Str");
 else     exc.printStackTrace();
  }
catch (  Exception exc) {
    exc.printStackTrace();
  }
 finally {
    if (rpcClient != null)     rpcClient.shutdown();
  }
}

Fixed version (ground truth):
/** 
 * @param args
 */
public static void main(String[] args){
  Logging.start(Logging.LEVEL_ERROR);
  try {
    TimeSync.initialize(null,60000,50);
  }
 catch (  Exception ex) {
    ex.printStackTrace();
    System.exit(1);
  }
  Map<String,CliOption> options=new HashMap<String,CliOption>();
  List<String> arguments=new ArrayList<String>(3);
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.URL));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.SWITCH));
  options.put("String_Node_Str",new CliOption(CliOption.OPTIONTYPE.STRING));
  try {
    CLIParser.parseCLI(args,options,arguments);
  }
 catch (  Exception exc) {
    System.out.println(exc);
    usage();
    return;
  }
  CliOption h=options.get("String_Node_Str");
  if (h.switchValue) {
    usage();
    return;
  }
  CliOption mrc=options.get("String_Node_Str");
  if (mrc.urlValue == null) {
    System.out.println("String_Node_Str");
    usage();
    return;
  }
  if (arguments.size() < 2) {
    usage();
    return;
  }
  String op=arguments.get(0);
  if (!"String_Node_Str".equals(op) && !"String_Node_Str".equals(op)) {
    System.out.println("String_Node_Str" + op);
    usage();
    return;
  }
  String dumpFile=arguments.get(1);
  CliOption c=options.get("String_Node_Str");
  CliOption cp=options.get("String_Node_Str");
  CliOption t=options.get("String_Node_Str");
  CliOption tp=options.get("String_Node_Str");
  CliOption p=options.get("String_Node_Str");
  String host=mrc.urlValue.getHost();
  int port=mrc.urlValue.getPort();
  String protocol=mrc.urlValue.getProtocol();
  RPCNIOSocketClient rpcClient=null;
  try {
    SSLOptions sslOptions=protocol.startsWith("String_Node_Str") ? new SSLOptions(new FileInputStream(c.stringValue),cp.stringValue,new FileInputStream(t.stringValue),tp.stringValue) : null;
    rpcClient=new RPCNIOSocketClient(sslOptions,Integer.MAX_VALUE - 1000,Integer.MAX_VALUE);
    rpcClient.start();
    MRCClient client=new MRCClient(rpcClient,new InetSocketAddress(host,port));
    StringSet gids=new StringSet();
    gids.add("String_Node_Str");
    UserCredentials creds=new UserCredentials("String_Node_Str",gids,p == null ? "String_Node_Str" : p.stringValue);
    if (op.equals("String_Node_Str")) {
      RPCResponse<Object> r=null;
      try {
        r=client.xtreemfs_dump_database(null,creds,dumpFile);
        r.get();
      }
  finally {
        if (r != null)         r.freeBuffers();
      }
    }
 else     if (op.equals("String_Node_Str")) {
      RPCResponse<Object> r=null;
      try {
        r=client.xtreemfs_restore_database(null,creds,dumpFile);
        r.get();
      }
  finally {
        if (r != null)         r.freeBuffers();
      }
    }
 else     usage();
  }
 catch (  MRCException exc) {
    if (exc.getError_code() == ErrNo.EPERM)     System.out.println("String_Node_Str");
 else     exc.printStackTrace();
  }
catch (  errnoException exc) {
    System.err.println(exc.getError_message() + "String_Node_Str" + exc.getError_code());
  }
catch (  Exception exc) {
    exc.printStackTrace();
  }
 finally {
    if (rpcClient != null)     rpcClient.shutdown();
  }
}