Program: 94412
Project: 94412
Buggy source:
@Override public int run(String[] args,Configuration conf,ProviderProperties providerProperties){
  try {
    long start=System.currentTimeMillis();
    CommandLine line;
    try {
      CommandLineParser parser=new GnuParser();
      line=parser.parse(options,args);
    }
 catch (    ParseException e) {
      System.out.println(e.getMessage());
      new HelpFormatter().printHelp("String_Node_Str",options);
      return -1;
    }
    if (line == null || line.hasOption("String_Node_Str")) {
      new HelpFormatter().printHelp("String_Node_Str",options);
      return -1;
    }
    boolean overrideNodata=line.hasOption("String_Node_Str");
    if (overrideNodata) {
      String str=line.getOptionValue("String_Node_Str");
      String[] strElements=str.split("String_Node_Str");
      nodataOverride=new Double[strElements.length];
      for (int i=0; i < nodataOverride.length; i++) {
        try {
          nodataOverride[i]=parseNoData(strElements[i]);
        }
 catch (        NumberFormatException nfe) {
          System.out.println("String_Node_Str" + strElements[i]);
          return -1;
        }
      }
    }
    boolean categorical=line.hasOption("String_Node_Str");
    boolean skipPyramids=line.hasOption("String_Node_Str");
    boolean recurse=!line.hasOption("String_Node_Str");
    skippreprocessing=line.hasOption("String_Node_Str");
    String output=line.getOptionValue("String_Node_Str");
    log.debug("String_Node_Str" + categorical);
    log.debug("String_Node_Str" + skipPyramids);
    log.debug("String_Node_Str" + output);
    List<String> inputs=new LinkedList<>();
    if (line.hasOption("String_Node_Str")) {
      zoomlevel=Integer.parseInt(line.getOptionValue("String_Node_Str"));
    }
    if (skippreprocessing && zoomlevel < 1) {
      log.error("String_Node_Str");
      return -1;
    }
    tilesize=Integer.parseInt(MrGeoProperties.getInstance().getProperty(MrGeoConstants.MRGEO_MRS_TILESIZE,MrGeoConstants.MRGEO_MRS_TILESIZE_DEFAULT));
    try {
      for (      String arg : line.getArgs()) {
        inputs.addAll(getInputs(arg,recurse,conf,true,false));
      }
    }
 catch (    IllegalArgumentException e) {
      System.out.println(e.getMessage());
      return -1;
    }
    log.info("String_Node_Str" + inputs.size() + "String_Node_Str");
    for (    String input : inputs) {
      log.info("String_Node_Str" + input);
    }
    if (line.hasOption("String_Node_Str")) {
      String rawTags=line.getOptionValue("String_Node_Str");
      String splittags[]=rawTags.split("String_Node_Str");
      for (      String t : splittags) {
        String[] s=t.split("String_Node_Str");
        if (s.length != 2) {
          log.error("String_Node_Str" + rawTags);
          return -1;
        }
        tags.put(s[0],s[1]);
      }
    }
    quick=quick | line.hasOption("String_Node_Str");
    local=local | line.hasOption("String_Node_Str");
    String protectionLevel=line.getOptionValue("String_Node_Str");
    if (inputs.size() > 0) {
      try {
        final boolean success;
        if (quick) {
          log.error("String_Node_Str");
          return -1;
        }
 else         if (local) {
          success=org.mrgeo.ingest.IngestImage.localIngest(inputs.toArray(new String[inputs.size()]),output,categorical,conf,bounds,zoomlevel,tilesize,nodata,bands,tiletype,tags,protectionLevel,providerProperties);
        }
 else {
          success=org.mrgeo.ingest.IngestImage.ingest(inputs.toArray(new String[inputs.size()]),output,categorical,conf,bounds,zoomlevel,tilesize,nodata,bands,tiletype,tags,protectionLevel,providerProperties);
        }
        if (!success) {
          log.error("String_Node_Str");
          return 1;
        }
        if (!skipPyramids) {
          Aggregator aggregator=new MeanAggregator();
          if (line.hasOption("String_Node_Str")) {
            aggregator=new ModeAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new SumAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new NearestAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new MinAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new MaxAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new MinAvgPairAggregator();
          }
          BuildPyramid.build(output,aggregator,conf,providerProperties);
        }
      }
 catch (      Exception e) {
        e.printStackTrace();
        log.error("String_Node_Str",e);
        return 1;
      }
    }
    long end=System.currentTimeMillis();
    long duration=end - start;
    PeriodFormatter formatter=new PeriodFormatterBuilder().appendHours().appendSuffix("String_Node_Str").appendMinutes().appendSuffix("String_Node_Str").appendSeconds().appendSuffix("String_Node_Str").toFormatter();
    String formatted=formatter.print(new Period(duration));
    log.info("String_Node_Str" + formatted);
    return 0;
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
  return -1;
}

Fixed version (ground truth):
@Override public int run(String[] args,Configuration conf,ProviderProperties providerProperties){
  try {
    long start=System.currentTimeMillis();
    CommandLine line;
    try {
      CommandLineParser parser=new GnuParser();
      line=parser.parse(options,args);
    }
 catch (    ParseException e) {
      System.out.println(e.getMessage());
      new HelpFormatter().printHelp("String_Node_Str",options);
      return -1;
    }
    if (line == null || line.hasOption("String_Node_Str")) {
      new HelpFormatter().printHelp("String_Node_Str",options);
      return -1;
    }
    boolean overrideNodata=line.hasOption("String_Node_Str");
    if (overrideNodata) {
      String str=line.getOptionValue("String_Node_Str");
      String[] strElements=str.split("String_Node_Str");
      nodataOverride=new Double[strElements.length];
      for (int i=0; i < nodataOverride.length; i++) {
        try {
          nodataOverride[i]=parseNoData(strElements[i]);
        }
 catch (        NumberFormatException nfe) {
          System.out.println("String_Node_Str" + strElements[i]);
          return -1;
        }
      }
    }
    boolean categorical=line.hasOption("String_Node_Str");
    boolean skipPyramids=line.hasOption("String_Node_Str");
    boolean recurse=!line.hasOption("String_Node_Str");
    skippreprocessing=line.hasOption("String_Node_Str");
    String output=line.getOptionValue("String_Node_Str");
    log.debug("String_Node_Str" + categorical);
    log.debug("String_Node_Str" + skipPyramids);
    log.debug("String_Node_Str" + output);
    List<String> inputs=new LinkedList<>();
    tilesize=Integer.parseInt(MrGeoProperties.getInstance().getProperty(MrGeoConstants.MRGEO_MRS_TILESIZE,MrGeoConstants.MRGEO_MRS_TILESIZE_DEFAULT));
    try {
      for (      String arg : line.getArgs()) {
        inputs.addAll(getInputs(arg,recurse,conf,true,false));
      }
    }
 catch (    IllegalArgumentException e) {
      System.out.println(e.getMessage());
      return -1;
    }
    if (line.hasOption("String_Node_Str")) {
      zoomlevel=Integer.parseInt(line.getOptionValue("String_Node_Str"));
    }
    if (skippreprocessing && zoomlevel < 1) {
      log.error("String_Node_Str");
      return -1;
    }
    log.info("String_Node_Str" + inputs.size() + "String_Node_Str");
    for (    String input : inputs) {
      log.info("String_Node_Str" + input);
    }
    if (line.hasOption("String_Node_Str")) {
      String rawTags=line.getOptionValue("String_Node_Str");
      String splittags[]=rawTags.split("String_Node_Str");
      for (      String t : splittags) {
        String[] s=t.split("String_Node_Str");
        if (s.length != 2) {
          log.error("String_Node_Str" + rawTags);
          return -1;
        }
        tags.put(s[0],s[1]);
      }
    }
    quick=quick | line.hasOption("String_Node_Str");
    local=local | line.hasOption("String_Node_Str");
    String protectionLevel=line.getOptionValue("String_Node_Str");
    if (inputs.size() > 0) {
      try {
        final boolean success;
        if (quick) {
          log.error("String_Node_Str");
          return -1;
        }
 else         if (local) {
          success=org.mrgeo.ingest.IngestImage.localIngest(inputs.toArray(new String[inputs.size()]),output,categorical,conf,bounds,zoomlevel,tilesize,nodata,bands,tiletype,tags,protectionLevel,providerProperties);
        }
 else {
          success=org.mrgeo.ingest.IngestImage.ingest(inputs.toArray(new String[inputs.size()]),output,categorical,conf,bounds,zoomlevel,tilesize,nodata,bands,tiletype,tags,protectionLevel,providerProperties);
        }
        if (!success) {
          log.error("String_Node_Str");
          return 1;
        }
        if (!skipPyramids) {
          Aggregator aggregator=new MeanAggregator();
          if (line.hasOption("String_Node_Str")) {
            aggregator=new ModeAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new SumAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new NearestAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new MinAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new MaxAggregator();
          }
 else           if (line.hasOption("String_Node_Str")) {
            aggregator=new MinAvgPairAggregator();
          }
          BuildPyramid.build(output,aggregator,conf,providerProperties);
        }
      }
 catch (      Exception e) {
        e.printStackTrace();
        log.error("String_Node_Str",e);
        return 1;
      }
    }
    long end=System.currentTimeMillis();
    long duration=end - start;
    PeriodFormatter formatter=new PeriodFormatterBuilder().appendHours().appendSuffix("String_Node_Str").appendMinutes().appendSuffix("String_Node_Str").appendSeconds().appendSuffix("String_Node_Str").toFormatter();
    String formatted=formatter.print(new Period(duration));
    log.info("String_Node_Str" + formatted);
    return 0;
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
  return -1;
}