Program: 94425
Project: 94425
Buggy source:
@Override public int run(String[] args,Configuration conf,final ProviderProperties providerProperties){
  long t0=System.currentTimeMillis();
  System.out.println(log.getClass().getName());
  Options options=MapAlgebra.createOptions();
  CommandLine line=null;
  try {
    CommandLineParser parser=new PosixParser();
    line=parser.parse(options,args);
  }
 catch (  ParseException e) {
    System.out.println();
    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;
  }
  String expression=line.getOptionValue("String_Node_Str");
  String output=line.getOptionValue("String_Node_Str");
  String script=line.getOptionValue("String_Node_Str");
  if (expression == null && script == null) {
    System.out.println("String_Node_Str");
    System.out.println();
    new HelpFormatter().printHelp("String_Node_Str",options);
    return 1;
  }
  try {
    if (script != null) {
      File f=new File(script);
      byte[] buffer=new byte[(int)f.length()];
      FileInputStream fis=new FileInputStream(f);
      fis.read(buffer);
      expression=new String(buffer);
      fis.close();
    }
    String protectionLevel=line.getOptionValue("String_Node_Str");
    log.debug("String_Node_Str" + expression);
    log.debug("String_Node_Str" + output);
    Job job=new Job();
    job.setJobName("String_Node_Str");
    MrsImageDataProvider dp=DataProviderFactory.getMrsImageDataProvider(output,AccessMode.OVERWRITE,providerProperties);
    String useProtectionLevel=ProtectionLevelUtils.getAndValidateProtectionLevel(dp,protectionLevel);
    ProgressHierarchy progress=new ProgressHierarchy();
    boolean valid=org.mrgeo.mapalgebra.MapAlgebra.validate(expression,providerProperties);
    if (valid) {
      org.mrgeo.mapalgebra.MapAlgebra.mapalgebra(expression,output,conf,providerProperties,useProtectionLevel);
    }
    if (progress.isFailed()) {
      throw new JobFailedException(progress.getResult());
    }
    System.out.println("String_Node_Str" + output + "String_Node_Str"+ ((System.currentTimeMillis() - t0) / 1000.0)+ "String_Node_Str");
  }
 catch (  IOException e) {
    e.printStackTrace();
    return 1;
  }
catch (  JobFailedException e) {
    e.printStackTrace();
    return 1;
  }
catch (  JobCancelledException e) {
    e.printStackTrace();
    return 1;
  }
catch (  Exception e) {
    e.printStackTrace();
    return -1;
  }
  return 0;
}

Fixed version (ground truth):
@Override public int run(String[] args,Configuration conf,final ProviderProperties providerProperties){
  long t0=System.currentTimeMillis();
  System.out.println(log.getClass().getName());
  Options options=MapAlgebra.createOptions();
  CommandLine line=null;
  try {
    CommandLineParser parser=new PosixParser();
    line=parser.parse(options,args);
  }
 catch (  ParseException e) {
    System.out.println();
    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;
  }
  String expression=line.getOptionValue("String_Node_Str");
  String output=line.getOptionValue("String_Node_Str");
  String script=line.getOptionValue("String_Node_Str");
  if (expression == null && script == null) {
    System.out.println("String_Node_Str");
    System.out.println();
    new HelpFormatter().printHelp("String_Node_Str",options);
    return 1;
  }
  try {
    if (script != null) {
      File f=new File(script);
      byte[] buffer=new byte[(int)f.length()];
      FileInputStream fis=new FileInputStream(f);
      fis.read(buffer);
      expression=new String(buffer);
      fis.close();
    }
    String protectionLevel=line.getOptionValue("String_Node_Str");
    log.debug("String_Node_Str" + expression);
    log.debug("String_Node_Str" + output);
    Job job=new Job();
    job.setJobName("String_Node_Str");
    MrsImageDataProvider dp=DataProviderFactory.getMrsImageDataProvider(output,AccessMode.OVERWRITE,providerProperties);
    String useProtectionLevel=ProtectionLevelUtils.getAndValidateProtectionLevel(dp,protectionLevel);
    ProgressHierarchy progress=new ProgressHierarchy();
    boolean valid=org.mrgeo.mapalgebra.MapAlgebra.validate(expression,providerProperties);
    if (valid) {
      org.mrgeo.mapalgebra.MapAlgebra.mapalgebra(expression,output,conf,providerProperties,useProtectionLevel);
    }
    if (progress.isFailed()) {
      throw new JobFailedException(progress.getResult());
    }
    if (line.hasOption("String_Node_Str")) {
      System.out.println("String_Node_Str");
      BuildPyramid.build(output,new MeanAggregator(),conf,providerProperties);
    }
    System.out.println("String_Node_Str" + output + "String_Node_Str"+ ((System.currentTimeMillis() - t0) / 1000.0)+ "String_Node_Str");
  }
 catch (  IOException e) {
    e.printStackTrace();
    return 1;
  }
catch (  JobFailedException e) {
    e.printStackTrace();
    return 1;
  }
catch (  JobCancelledException e) {
    e.printStackTrace();
    return 1;
  }
catch (  Exception e) {
    e.printStackTrace();
    return -1;
  }
  return 0;
}