Program: 133725
Project: 133725
Buggy source:
/** 
 * (non-Javadoc)
 * @see Runnable#run()
 * @generated "UML to Java (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
 */
public void run(){
  String executable=null, inputFile=null, hostname=null;
  String stdOutFileName=null, stdErrFileName=null;
  String stdOutHeader=null, stdErrHeader=null;
  if (execDictionary != null) {
    executable=execDictionary.get("String_Node_Str");
    inputFile=execDictionary.get("String_Node_Str");
    stdOutFileName=execDictionary.get("String_Node_Str");
    stdErrFileName=execDictionary.get("String_Node_Str");
    hostname=execDictionary.get("String_Node_Str");
    uploadInput=Boolean.valueOf(execDictionary.get("String_Node_Str"));
  }
  if (executable == null || (uploadInput && inputFile == null) || stdOutFileName == null || stdErrFileName == null || hostname == null) {
    status=FormStatus.InfoError;
    return;
  }
  if (execDictionary.get("String_Node_Str") != null && ("String_Node_Str").equals(execDictionary.get(("String_Node_Str")))) {
    appendInput=false;
  }
  setWorkingDirectoryName();
  fullCMD=fixExecutableName();
  stdOutFileName=execDictionary.get("String_Node_Str");
  stdOut=getBufferedWriter(stdOutFileName);
  stdErrFileName=execDictionary.get("String_Node_Str");
  stdErr=getBufferedWriter(stdErrFileName);
  stdOutHeader=createOutputHeader("String_Node_Str");
  stdErrHeader=createOutputHeader("String_Node_Str");
  try {
    stdOut.write(stdOutHeader);
    stdErr.write(stdErrHeader);
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
  if (isLocal.get()) {
    launchLocally();
  }
 else {
    launchRemotely();
  }
  try {
    stdOut.close();
    stdErr.close();
  }
 catch (  IOException e) {
    e.printStackTrace();
    status=FormStatus.InfoError;
    return;
  }
  return;
}

Fixed version (ground truth):
/** 
 * (non-Javadoc)
 * @see Runnable#run()
 * @generated "UML to Java (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
 */
public void run(){
  String executable=null, inputFile=null, hostname=null;
  String stdOutFileName=null, stdErrFileName=null;
  String stdOutHeader=null, stdErrHeader=null;
  if (execDictionary != null) {
    executable=execDictionary.get("String_Node_Str");
    inputFile=execDictionary.get("String_Node_Str");
    stdOutFileName=execDictionary.get("String_Node_Str");
    stdErrFileName=execDictionary.get("String_Node_Str");
    hostname=execDictionary.get("String_Node_Str");
    projectSpaceDir=execDictionary.get("String_Node_Str");
    uploadInput=Boolean.valueOf(execDictionary.get("String_Node_Str"));
  }
  if (executable == null || (uploadInput && inputFile == null) || stdOutFileName == null || stdErrFileName == null || hostname == null) {
    status=FormStatus.InfoError;
    return;
  }
  if (execDictionary.get("String_Node_Str") != null && ("String_Node_Str").equals(execDictionary.get(("String_Node_Str")))) {
    appendInput=false;
  }
  setWorkingDirectoryName();
  fullCMD=fixExecutableName();
  stdOutFileName=execDictionary.get("String_Node_Str");
  stdOut=getBufferedWriter(stdOutFileName);
  stdErrFileName=execDictionary.get("String_Node_Str");
  stdErr=getBufferedWriter(stdErrFileName);
  stdOutHeader=createOutputHeader("String_Node_Str");
  stdErrHeader=createOutputHeader("String_Node_Str");
  try {
    stdOut.write(stdOutHeader);
    stdErr.write(stdErrHeader);
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
  if (isLocal.get()) {
    launchLocally();
  }
 else {
    launchRemotely();
  }
  try {
    stdOut.close();
    stdErr.close();
  }
 catch (  IOException e) {
    e.printStackTrace();
    status=FormStatus.InfoError;
    return;
  }
  return;
}