Program: 8577
Project: 8577
Buggy source:
public void composeJobs() throws IOException {
  if (this.jobs.size() == 0) {
    return;
  }
  final String hadoopFileJar;
  if (new File("String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists())   hadoopFileJar="String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
 else   if (new File("String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists())   hadoopFileJar="String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
 else   if (new File("String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists())   hadoopFileJar="String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
 else   if (new File("String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists())   hadoopFileJar="String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
 else   throw new IllegalStateException("String_Node_Str" + Tokens.FAUNUS_JOB_JAR);
  if (this.pathEnabled)   logger.warn("String_Node_Str");
  for (  final Job job : this.jobs) {
    job.getConfiguration().setBoolean(PATH_ENABLED,this.pathEnabled);
    job.getConfiguration().set("String_Node_Str",hadoopFileJar);
  }
  final FileSystem hdfs=FileSystem.get(this.graph.getConfiguration());
  final String outputJobPrefix=this.graph.getOutputLocation().toString() + "String_Node_Str" + Tokens.JOB;
  hdfs.mkdirs(this.graph.getOutputLocation());
  if (FileInputFormat.class.isAssignableFrom(this.graph.getGraphInputFormat())) {
    FileInputFormat.setInputPaths(this.jobs.get(0),this.graph.getInputLocation());
    FileInputFormat.setInputPathFilter(this.jobs.get(0),NoSideEffectFilter.class);
  }
  for (int i=0; i < this.jobs.size(); i++) {
    final Job job=this.jobs.get(i);
    final Path path=new Path(outputJobPrefix + "String_Node_Str" + i);
    FileOutputFormat.setOutputPath(job,path);
    if (i == 0) {
      job.setInputFormatClass(this.graph.getGraphInputFormat());
    }
 else {
      job.setInputFormatClass(INTERMEDIATE_INPUT_FORMAT);
      FileInputFormat.setInputPathFilter(job,GraphFilter.class);
      FileInputFormat.addInputPath(job,new Path(outputJobPrefix + "String_Node_Str" + (i - 1)));
    }
    if (i == this.jobs.size() - 1) {
      LazyOutputFormat.setOutputFormatClass(job,this.graph.getGraphOutputFormat());
      MultipleOutputs.addNamedOutput(job,Tokens.SIDEEFFECT,this.graph.getSideEffectOutputFormat(),job.getOutputKeyClass(),job.getOutputKeyClass());
      MultipleOutputs.addNamedOutput(job,Tokens.GRAPH,this.graph.getGraphOutputFormat(),NullWritable.class,FaunusVertex.class);
    }
 else {
      LazyOutputFormat.setOutputFormatClass(job,INTERMEDIATE_OUTPUT_FORMAT);
      MultipleOutputs.addNamedOutput(job,Tokens.SIDEEFFECT,this.graph.getSideEffectOutputFormat(),job.getOutputKeyClass(),job.getOutputKeyClass());
      MultipleOutputs.addNamedOutput(job,Tokens.GRAPH,INTERMEDIATE_OUTPUT_FORMAT,NullWritable.class,FaunusVertex.class);
    }
  }
}

Fixed version (ground truth):
public void composeJobs() throws IOException {
  if (this.jobs.size() == 0) {
    return;
  }
  String hadoopFileJar=null;
  if (new File("String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists()) {
    logger.warn("String_Node_Str" + Tokens.FAUNUS_JOB_JAR);
    hadoopFileJar="String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
  }
 else   if (new File("String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists()) {
    logger.warn("String_Node_Str" + Tokens.FAUNUS_JOB_JAR);
    hadoopFileJar="String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
  }
 else {
    final String faunusHome=System.getProperty(Tokens.FAUNUS_HOME);
    if (null == faunusHome || faunusHome.isEmpty())     throw new IllegalStateException("String_Node_Str" + Tokens.FAUNUS_JOB_JAR);
    if (new File(faunusHome + "String_Node_Str" + Tokens.FAUNUS_JOB_JAR).exists()) {
      hadoopFileJar=faunusHome + "String_Node_Str" + Tokens.FAUNUS_JOB_JAR;
    }
  }
  if (null == hadoopFileJar)   throw new IllegalStateException("String_Node_Str" + Tokens.FAUNUS_JOB_JAR);
  if (this.pathEnabled)   logger.warn("String_Node_Str");
  for (  final Job job : this.jobs) {
    job.getConfiguration().setBoolean(PATH_ENABLED,this.pathEnabled);
    job.getConfiguration().set("String_Node_Str",hadoopFileJar);
  }
  final FileSystem hdfs=FileSystem.get(this.graph.getConfiguration());
  final String outputJobPrefix=this.graph.getOutputLocation().toString() + "String_Node_Str" + Tokens.JOB;
  hdfs.mkdirs(this.graph.getOutputLocation());
  if (FileInputFormat.class.isAssignableFrom(this.graph.getGraphInputFormat())) {
    FileInputFormat.setInputPaths(this.jobs.get(0),this.graph.getInputLocation());
    FileInputFormat.setInputPathFilter(this.jobs.get(0),NoSideEffectFilter.class);
  }
  for (int i=0; i < this.jobs.size(); i++) {
    final Job job=this.jobs.get(i);
    final Path path=new Path(outputJobPrefix + "String_Node_Str" + i);
    FileOutputFormat.setOutputPath(job,path);
    if (i == 0) {
      job.setInputFormatClass(this.graph.getGraphInputFormat());
    }
 else {
      job.setInputFormatClass(INTERMEDIATE_INPUT_FORMAT);
      FileInputFormat.setInputPathFilter(job,GraphFilter.class);
      FileInputFormat.addInputPath(job,new Path(outputJobPrefix + "String_Node_Str" + (i - 1)));
    }
    if (i == this.jobs.size() - 1) {
      LazyOutputFormat.setOutputFormatClass(job,this.graph.getGraphOutputFormat());
      MultipleOutputs.addNamedOutput(job,Tokens.SIDEEFFECT,this.graph.getSideEffectOutputFormat(),job.getOutputKeyClass(),job.getOutputKeyClass());
      MultipleOutputs.addNamedOutput(job,Tokens.GRAPH,this.graph.getGraphOutputFormat(),NullWritable.class,FaunusVertex.class);
    }
 else {
      LazyOutputFormat.setOutputFormatClass(job,INTERMEDIATE_OUTPUT_FORMAT);
      MultipleOutputs.addNamedOutput(job,Tokens.SIDEEFFECT,this.graph.getSideEffectOutputFormat(),job.getOutputKeyClass(),job.getOutputKeyClass());
      MultipleOutputs.addNamedOutput(job,Tokens.GRAPH,INTERMEDIATE_OUTPUT_FORMAT,NullWritable.class,FaunusVertex.class);
    }
  }
}