Program: 141186
Project: 141186
Buggy source:
/** 
 * Run Eoulsan in hadoop mode
 * @param workflowPathname workflow file path
 * @param designPathname design file path
 * @param destPathname data path
 * @param jobDescription job description
 * @param jobEnvironment job environment
 * @param millisSinceEpoch milliseconds since epoch
 * @param uploadOnly true if execution must end after upload
 */
private static final void run(final String workflowPathname,final String designPathname,final String destPathname,final String jobDescription,final String jobEnvironment,final boolean uploadOnly,final long millisSinceEpoch){
  checkNotNull(workflowPathname,"String_Node_Str");
  checkNotNull(designPathname,"String_Node_Str");
  checkNotNull(destPathname,"String_Node_Str");
  final String desc;
  final String env;
  if (jobDescription == null) {
    desc="String_Node_Str";
  }
 else {
    desc=jobDescription;
  }
  if (jobEnvironment == null) {
    env="String_Node_Str";
  }
 else {
    env=jobEnvironment;
  }
  try {
    final Configuration conf=((HadoopEoulsanRuntime)EoulsanRuntime.getRuntime()).getConfiguration();
    final URI paramURI;
    if (workflowPathname.indexOf("String_Node_Str") != -1)     paramURI=new URI(workflowPathname);
 else     paramURI=new File(workflowPathname).getAbsoluteFile().toURI();
    final URI designURI;
    if (designPathname.indexOf("String_Node_Str") != -1)     designURI=new URI(designPathname);
 else     designURI=new File(designPathname).getAbsoluteFile().toURI();
    final URI destURI=new URI(destPathname);
    final Path paramPath=new Path(paramURI.toString());
    final Path designPath=new Path(designURI.toString());
    FileSystem paramFs=paramPath.getFileSystem(conf);
    if (!paramFs.exists(paramPath))     throw new FileNotFoundException(paramPath.toString());
    FileSystem designFs=designPath.getFileSystem(conf);
    if (!designFs.exists(designPath))     throw new FileNotFoundException(designPath.toString());
    final ExecutorArguments arguments=new HadoopExecutorArguments(millisSinceEpoch,paramPath,designPath);
    arguments.setJobDescription(desc);
    arguments.setJobEnvironment(env);
    Main.getInstance().createLogFileAndFlushLog(arguments.getLogPathname() + File.separator + "String_Node_Str");
    final Executor e=new Executor(arguments);
    final Step uploadStep=new HadoopUploadStep(new DataFile(destURI.toString()),conf);
    final List<Step> firstSteps;
    if (uploadOnly) {
      firstSteps=Arrays.asList(new Step[]{uploadStep,new TerminalStep(),new CopyDesignAndWorkflowFilesToOutputStep()});
    }
 else {
      firstSteps=Arrays.asList(uploadStep,new CopyDesignAndWorkflowFilesToOutputStep());
    }
    final List<Step> lastSteps=Collections.singletonList((Step)new HDFSDataDownloadStep());
    e.execute(firstSteps,lastSteps);
  }
 catch (  FileNotFoundException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
catch (  EoulsanException e) {
    Common.errorExit(e,"String_Node_Str" + Globals.APP_NAME_LOWER_CASE + "String_Node_Str"+ e.getMessage());
  }
catch (  EoulsanRuntimeException e) {
    Common.errorExit(e,"String_Node_Str" + Globals.APP_NAME_LOWER_CASE + "String_Node_Str"+ e.getMessage());
  }
catch (  IOException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
catch (  URISyntaxException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
}

Fixed version (ground truth):
/** 
 * Run Eoulsan in hadoop mode
 * @param workflowPathname workflow file path
 * @param designPathname design file path
 * @param destPathname data path
 * @param jobDescription job description
 * @param jobEnvironment job environment
 * @param millisSinceEpoch milliseconds since epoch
 * @param uploadOnly true if execution must end after upload
 */
private static final void run(final String workflowPathname,final String designPathname,final String destPathname,final String jobDescription,final String jobEnvironment,final boolean uploadOnly,final long millisSinceEpoch){
  checkNotNull(workflowPathname,"String_Node_Str");
  checkNotNull(designPathname,"String_Node_Str");
  checkNotNull(destPathname,"String_Node_Str");
  final String desc;
  final String env;
  if (jobDescription == null) {
    desc="String_Node_Str";
  }
 else {
    desc=jobDescription;
  }
  if (jobEnvironment == null) {
    env="String_Node_Str";
  }
 else {
    env=jobEnvironment;
  }
  try {
    final Configuration conf=((HadoopEoulsanRuntime)EoulsanRuntime.getRuntime()).getConfiguration();
    final URI paramURI;
    if (workflowPathname.indexOf("String_Node_Str") != -1)     paramURI=new URI(workflowPathname);
 else     paramURI=new File(workflowPathname).getAbsoluteFile().toURI();
    final URI designURI;
    if (designPathname.indexOf("String_Node_Str") != -1)     designURI=new URI(designPathname);
 else     designURI=new File(designPathname).getAbsoluteFile().toURI();
    final URI destURI=new URI(destPathname);
    final Path paramPath=new Path(paramURI.toString());
    final Path designPath=new Path(designURI.toString());
    final Path destPath=new Path(destURI.toString());
    FileSystem paramFs=paramPath.getFileSystem(conf);
    if (!paramFs.exists(paramPath))     throw new FileNotFoundException(paramPath.toString());
    FileSystem designFs=designPath.getFileSystem(conf);
    if (!designFs.exists(designPath))     throw new FileNotFoundException(designPath.toString());
    final ExecutorArguments arguments=new HadoopExecutorArguments(millisSinceEpoch,paramPath,designPath,destPath);
    arguments.setJobDescription(desc);
    arguments.setJobEnvironment(env);
    Main.getInstance().createLogFileAndFlushLog(arguments.getLogPathname() + File.separator + "String_Node_Str");
    final Executor e=new Executor(arguments);
    final Step uploadStep=new HadoopUploadStep(new DataFile(destURI.toString()),conf);
    final List<Step> firstSteps;
    if (uploadOnly) {
      firstSteps=Arrays.asList(new Step[]{uploadStep,new TerminalStep(),new CopyDesignAndWorkflowFilesToOutputStep()});
    }
 else {
      firstSteps=Arrays.asList(uploadStep,new CopyDesignAndWorkflowFilesToOutputStep());
    }
    final List<Step> lastSteps=Collections.singletonList((Step)new HDFSDataDownloadStep());
    e.execute(firstSteps,lastSteps);
  }
 catch (  FileNotFoundException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
catch (  EoulsanException e) {
    Common.errorExit(e,"String_Node_Str" + Globals.APP_NAME_LOWER_CASE + "String_Node_Str"+ e.getMessage());
  }
catch (  EoulsanRuntimeException e) {
    Common.errorExit(e,"String_Node_Str" + Globals.APP_NAME_LOWER_CASE + "String_Node_Str"+ e.getMessage());
  }
catch (  IOException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
catch (  URISyntaxException e) {
    Common.errorExit(e,"String_Node_Str" + e.getMessage());
  }
}