Program: 141174
Project: 141174
Buggy source:
private MapperProcess createMapperProcessPE(final String bwaPath,final String indexPath,final File readsFile1,final File readsFile2,final File tmpFile1,final File tmpFile2,final boolean fileMode) throws IOException {
  return new MapperProcess(this,fileMode,false,true){
    @Override protected List<List<String>> createCommandLines(){
      final boolean illuminaFastq=getFastqFormat() == FASTQ_ILLUMINA || getFastqFormat() == FASTQ_ILLUMINA_1_5;
      final List<String> cmd1=new ArrayList<String>();
      cmd1.add(bwaPath);
      cmd1.add("String_Node_Str");
      if (illuminaFastq)       cmd1.add("String_Node_Str");
      cmd1.add(getMapperArguments());
      cmd1.add("String_Node_Str");
      cmd1.add(getThreadsNumber() + "String_Node_Str");
      cmd1.add("String_Node_Str");
      cmd1.add(tmpFile1.getAbsolutePath());
      cmd1.add(indexPath);
      if (fileMode)       cmd1.add(readsFile1.getAbsolutePath());
 else       cmd1.add(getTmpInputFile1().getAbsolutePath());
      final List<String> cmd2=new ArrayList<String>();
      cmd2.add(bwaPath);
      cmd2.add("String_Node_Str");
      if (illuminaFastq)       cmd2.add("String_Node_Str");
      cmd2.add(getMapperArguments());
      cmd2.add("String_Node_Str");
      cmd2.add(getThreadsNumber() + "String_Node_Str");
      cmd2.add("String_Node_Str");
      cmd2.add(tmpFile2.getAbsolutePath());
      cmd2.add(indexPath);
      if (fileMode)       cmd2.add(readsFile2.getAbsolutePath());
 else       cmd2.add(getTmpInputFile2().getAbsolutePath());
      final List<String> cmd3=new ArrayList<String>();
      cmd3.add(bwaPath);
      cmd3.add("String_Node_Str");
      cmd3.add(indexPath);
      cmd3.add(tmpFile1.getAbsolutePath());
      cmd3.add(tmpFile2.getAbsolutePath());
      if (fileMode) {
        cmd3.add(readsFile1.getAbsolutePath());
        cmd3.add(readsFile2.getAbsolutePath());
      }
 else {
        cmd3.add(getTmpInputFile1().getAbsolutePath());
        cmd3.add(getTmpInputFile2().getAbsolutePath());
      }
      final List<List<String>> result=new ArrayList<List<String>>();
      result.add(cmd1);
      result.add(cmd2);
      result.add(cmd3);
      return result;
    }
    @Override protected void clean(){
      tmpFile1.delete();
      tmpFile2.delete();
    }
  }
;
}

Fixed version (ground truth):
private MapperProcess createMapperProcessPE(final String bwaPath,final String indexPath,final File readsFile1,final File readsFile2,final File tmpFile1,final File tmpFile2,final boolean fileMode) throws IOException {
  return new MapperProcess(this,fileMode,false,true){
    @Override protected List<List<String>> createCommandLines(){
      final boolean illuminaFastq=getFastqFormat() == FASTQ_ILLUMINA || getFastqFormat() == FASTQ_ILLUMINA_1_5;
      final List<String> cmd1=new ArrayList<String>();
      cmd1.add(bwaPath);
      cmd1.add("String_Node_Str");
      if (illuminaFastq)       cmd1.add("String_Node_Str");
      cmd1.add(getMapperArguments());
      cmd1.add("String_Node_Str");
      cmd1.add(getThreadsNumber() + "String_Node_Str");
      cmd1.add("String_Node_Str");
      cmd1.add(tmpFile1.getAbsolutePath());
      cmd1.add(indexPath);
      if (fileMode)       cmd1.add(readsFile1.getAbsolutePath());
 else       cmd1.add(getTmpInputFile1().getAbsolutePath());
      final List<String> cmd2=new ArrayList<String>();
      cmd2.add(bwaPath);
      cmd2.add("String_Node_Str");
      if (illuminaFastq)       cmd2.add("String_Node_Str");
      cmd2.add(getMapperArguments());
      cmd2.add("String_Node_Str");
      cmd2.add(getThreadsNumber() + "String_Node_Str");
      cmd2.add("String_Node_Str");
      cmd2.add(tmpFile2.getAbsolutePath());
      cmd2.add(indexPath);
      if (fileMode)       cmd2.add(readsFile2.getAbsolutePath());
 else       cmd2.add(getTmpInputFile2().getAbsolutePath());
      final List<String> cmd3=new ArrayList<String>();
      cmd3.add(bwaPath);
      cmd3.add("String_Node_Str");
      cmd3.add(indexPath);
      cmd3.add(tmpFile1.getAbsolutePath());
      cmd3.add(tmpFile2.getAbsolutePath());
      if (fileMode) {
        cmd3.add(readsFile1.getAbsolutePath());
        cmd3.add(readsFile2.getAbsolutePath());
      }
 else {
        cmd3.add(getTmpInputFile1().getAbsolutePath());
        cmd3.add(getTmpInputFile2().getAbsolutePath());
      }
      final List<List<String>> result=new ArrayList<List<String>>();
      result.add(cmd1);
      result.add(cmd2);
      result.add(cmd3);
      return result;
    }
    @Override protected void clean(){
      if (tmpFile1.delete()) {
        getLogger().warning("String_Node_Str" + tmpFile1);
      }
      if (tmpFile2.delete()) {
        getLogger().warning("String_Node_Str" + tmpFile2);
      }
    }
  }
;
}