Program: 95296
Project: 95296
Buggy source:
/** 
 * initializes the AUTServer. <br> 1. create communicator <br> 2. connect to client <br> 3. register shutdown hook, not yet <br> 4. register a AWTEventListener, not yet <br> 5. load the AUT <br> 6. send message AUTServerReady <br> In case of an error in step >2. send an AUTServerStateMessage with an error code
 * @param isRcpAccessible true, if this method was called by RcpAccessor Plug-in
 */
public void start(boolean isRcpAccessible){
  m_isRcpAccessible=isRcpAccessible;
  try {
    IRegisterAut autReg=parseAutReg();
    if (autReg == null) {
      String errorMessage="String_Node_Str";
      log.error(errorMessage);
      sendExitReason(errorMessage,AUTServerExitConstants.EXIT_MISSING_AGENT_INFO);
    }
    if (!isRcpAccessible && !isAgentSet()) {
      loadAUT();
    }
    if (m_isAgentSet || isRcpAccessible) {
      setAutThread(Thread.currentThread());
    }
    if (m_iteCommunicator != null) {
      m_iteCommunicator.send(new AUTServerStateMessage(AUTServerStateMessage.READY));
    }
 else {
      new Thread("String_Node_Str"){
        public void run(){
          AUTStartCommand startCommand=new AUTStartCommand();
          startCommand.setMessage(new AUTStartMessage());
          startCommand.execute();
        }
      }
.start();
    }
    while ((getAutThread() == null || !getAutThread().isAlive()) && !isAutRunning()) {
      try {
        Thread.sleep(TimingConstantsServer.POLLING_DELAY_AUT_START);
      }
 catch (      InterruptedException e) {
      }
    }
    if (autReg != null) {
      registerAutinAgent(autReg);
    }
  }
 catch (  IllegalArgumentException iae) {
    log.error("String_Node_Str",iae);
    System.exit(AUTServerExitConstants.EXIT_INVALID_ARGS);
  }
catch (  CommunicationException ce) {
    log.error("String_Node_Str",ce);
    System.exit(AUTServerExitConstants.EXIT_COMMUNICATION_ERROR);
  }
catch (  SecurityException se) {
    log.error("String_Node_Str",se);
    System.exit(AUTServerExitConstants.EXIT_SECURITY_VIOLATION_REFLECTION);
  }
catch (  ClassNotFoundException cnfe) {
    sendExitReason(cnfe,AUTServerStateMessage.AUT_NOT_FOUND);
    System.exit(AUTServerExitConstants.EXIT_AUT_NOT_FOUND);
  }
catch (  NoSuchMethodException nsme) {
    sendExitReason(nsme,AUTServerStateMessage.MAIN_METHOD_NOT_FOUND);
    System.exit(AUTServerExitConstants.EXIT_AUT_NOT_FOUND);
  }
catch (  UnsupportedClassVersionError ucve) {
    sendExitReason(ucve,AUTServerStateMessage.EXIT_AUT_WRONG_CLASS_VERSION);
    System.exit(AUTServerExitConstants.EXIT_AUT_WRONG_CLASS_VERSION);
  }
catch (  JBVersionException ve) {
    sendExitReason(ve,AUTServerStateMessage.EXIT_AUT_WRONG_CLASS_VERSION);
    System.exit(AUTServerExitConstants.EXIT_UNKNOWN_ITE_CLIENT);
  }
}

Fixed version (ground truth):
/** 
 * initializes the AUTServer. <br> 1. create communicator <br> 2. connect to client <br> 3. register shutdown hook, not yet <br> 4. register a AWTEventListener, not yet <br> 5. load the AUT <br> 6. send message AUTServerReady <br> In case of an error in step >2. send an AUTServerStateMessage with an error code
 * @param isRcpAccessible true, if this method was called by RcpAccessor Plug-in
 */
public void start(boolean isRcpAccessible){
  initExternalLoader();
  m_isRcpAccessible=isRcpAccessible;
  try {
    IRegisterAut autReg=parseAutReg();
    if (autReg == null) {
      String errorMessage="String_Node_Str";
      log.error(errorMessage);
      sendExitReason(errorMessage,AUTServerExitConstants.EXIT_MISSING_AGENT_INFO);
    }
    if (!isRcpAccessible && !isAgentSet()) {
      loadAUT();
    }
    if (m_isAgentSet || isRcpAccessible) {
      setAutThread(Thread.currentThread());
    }
    if (m_iteCommunicator != null) {
      m_iteCommunicator.send(new AUTServerStateMessage(AUTServerStateMessage.READY));
    }
 else {
      new Thread("String_Node_Str"){
        public void run(){
          AUTStartCommand startCommand=new AUTStartCommand();
          startCommand.setMessage(new AUTStartMessage());
          startCommand.execute();
        }
      }
.start();
    }
    while ((getAutThread() == null || !getAutThread().isAlive()) && !isAutRunning()) {
      try {
        Thread.sleep(TimingConstantsServer.POLLING_DELAY_AUT_START);
      }
 catch (      InterruptedException e) {
      }
    }
    if (autReg != null) {
      registerAutinAgent(autReg);
    }
  }
 catch (  IllegalArgumentException iae) {
    log.error("String_Node_Str",iae);
    System.exit(AUTServerExitConstants.EXIT_INVALID_ARGS);
  }
catch (  CommunicationException ce) {
    log.error("String_Node_Str",ce);
    System.exit(AUTServerExitConstants.EXIT_COMMUNICATION_ERROR);
  }
catch (  SecurityException se) {
    log.error("String_Node_Str",se);
    System.exit(AUTServerExitConstants.EXIT_SECURITY_VIOLATION_REFLECTION);
  }
catch (  ClassNotFoundException cnfe) {
    sendExitReason(cnfe,AUTServerStateMessage.AUT_NOT_FOUND);
    System.exit(AUTServerExitConstants.EXIT_AUT_NOT_FOUND);
  }
catch (  NoSuchMethodException nsme) {
    sendExitReason(nsme,AUTServerStateMessage.MAIN_METHOD_NOT_FOUND);
    System.exit(AUTServerExitConstants.EXIT_AUT_NOT_FOUND);
  }
catch (  UnsupportedClassVersionError ucve) {
    sendExitReason(ucve,AUTServerStateMessage.EXIT_AUT_WRONG_CLASS_VERSION);
    System.exit(AUTServerExitConstants.EXIT_AUT_WRONG_CLASS_VERSION);
  }
catch (  JBVersionException ve) {
    sendExitReason(ve,AUTServerStateMessage.EXIT_AUT_WRONG_CLASS_VERSION);
    System.exit(AUTServerExitConstants.EXIT_UNKNOWN_ITE_CLIENT);
  }
}