Program: 13770
Project: 13770
Buggy source:
protected void elPrepPreprocess(Context context,PreprocessingTools tools,SAMRecordIterator input,String output) throws InterruptedException, IOException, QualityException, URISyntaxException {
  String dictF=ref.substring(0,ref.lastIndexOf('.')) + "String_Node_Str";
  String rg=createReadGroupRecordString(RGID,RGLB,RGPL,RGPU,RGSM);
  String preSamOut=tmpFileBase + "String_Node_Str";
  String samOut=tmpFileBase + "String_Node_Str";
  String fCounts=tmpFileBase + "String_Node_Str";
  outHeader=header.clone();
  outHeader.setSortOrder(SAMFileHeader.SortOrder.coordinate);
  Logger.DEBUG("String_Node_Str");
  context.setStatus("String_Node_Str");
  int reads;
  if (keep)   reads=tools.callElPrep(preSamOut,samOut,inputIsBam ? null : rg,threads,input,outHeader,dictF);
 else   reads=tools.streamElPrep(context,samOut,inputIsBam ? null : rg,threads,input,outHeader,dictF);
  Logger.DEBUG(reads + "String_Node_Str");
  context.getCounter(HalvadeCounters.IN_PREP_READS).increment(reads);
  if (gff != null) {
    Logger.DEBUG("String_Node_Str");
    context.setStatus("String_Node_Str");
    tools.runFeatureCounts(gff,samOut,fCounts);
    HalvadeFileUtils.uploadFileToHDFS(context,FileSystem.get(new URI(outputdir),context.getConfiguration()),fCounts,outputdir + context.getTaskAttemptID().toString() + "String_Node_Str");
  }
  context.setStatus("String_Node_Str");
  Logger.DEBUG("String_Node_Str");
  tools.callSAMToBAM(samOut,output,threads);
  context.setStatus("String_Node_Str");
  Logger.DEBUG("String_Node_Str");
  tools.runBuildBamIndex(output);
  HalvadeFileUtils.removeLocalFile(keep,preSamOut,context,HalvadeCounters.FOUT_GATK_TMP);
  HalvadeFileUtils.removeLocalFile(keep,samOut,context,HalvadeCounters.FOUT_GATK_TMP);
  HalvadeFileUtils.removeLocalFile(keep,fCounts);
}

Fixed version (ground truth):
protected void elPrepPreprocess(Context context,PreprocessingTools tools,SAMRecordIterator input,String output) throws InterruptedException, IOException, QualityException, URISyntaxException {
  String dictF=ref.substring(0,ref.lastIndexOf('.')) + "String_Node_Str";
  String rg=createReadGroupRecordString(RGID,RGLB,RGPL,RGPU,RGSM);
  String preSamOut=tmpFileBase + "String_Node_Str";
  String samOut=tmpFileBase + "String_Node_Str";
  String fCounts=tmpFileBase + "String_Node_Str";
  outHeader=header.clone();
  outHeader.setSortOrder(SAMFileHeader.SortOrder.coordinate);
  Logger.DEBUG("String_Node_Str");
  context.setStatus("String_Node_Str");
  int reads;
  if (keep)   reads=tools.callElPrep(preSamOut,samOut,inputIsBam ? null : rg,threads,input,outHeader,dictF);
 else   reads=tools.streamElPrep(context,samOut,inputIsBam ? null : rg,threads,input,outHeader,dictF);
  Logger.DEBUG(reads + "String_Node_Str");
  context.getCounter(HalvadeCounters.IN_PREP_READS).increment(reads);
  if (gff != null) {
    Logger.DEBUG("String_Node_Str");
    context.setStatus("String_Node_Str");
    tools.runFeatureCounts(gff,samOut,fCounts,threads);
    HalvadeFileUtils.uploadFileToHDFS(context,FileSystem.get(new URI(outputdir),context.getConfiguration()),fCounts,outputdir + context.getTaskAttemptID().toString() + "String_Node_Str");
  }
  context.setStatus("String_Node_Str");
  Logger.DEBUG("String_Node_Str");
  tools.callSAMToBAM(samOut,output,threads);
  context.setStatus("String_Node_Str");
  Logger.DEBUG("String_Node_Str");
  tools.runBuildBamIndex(output);
  HalvadeFileUtils.removeLocalFile(keep,preSamOut,context,HalvadeCounters.FOUT_GATK_TMP);
  HalvadeFileUtils.removeLocalFile(keep,samOut,context,HalvadeCounters.FOUT_GATK_TMP);
  HalvadeFileUtils.removeLocalFile(keep,fCounts);
}