Program: 28350
Project: 28350
Buggy source:
/** 
 * Synchronize the application named by mt.name in the base directory.  If the application is out of date, add the application files to the payload, including the generated files.
 */
private boolean syncApp(Application app,File base,ModTime mt,Payload.Outbound payload) throws URISyntaxException {
  logger.finer("String_Node_Str" + mt.name);
  try {
    File appDir=fileOf(base,mt.name);
    if (syncArchive) {
      File archive=app.application();
      logger.finest("String_Node_Str" + archive);
      if (mt.time != 0 && archive.lastModified() == mt.time)       return false;
      attachAppArchive(archive,payload);
    }
 else {
      logger.finest("String_Node_Str" + appDir);
      if (mt.time != 0 && appDir.lastModified() == mt.time)       return false;
      if (mt.time == 0)       logger.fine("String_Node_Str" + "String_Node_Str" + mt.name + "String_Node_Str");
 else       logger.fine("String_Node_Str" + "String_Node_Str" + mt.name + "String_Node_Str");
      attachAppDir(appDir,payload);
    }
    File gdir;
    gdir=env.getApplicationCompileJspPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=env.getApplicationGeneratedXMLPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=env.getApplicationEJBStubPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=new File(env.getApplicationStubPath(),"String_Node_Str");
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=env.getApplicationAltDDPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
  }
 catch (  IOException ioex) {
    logger.fine("String_Node_Str" + mt.name);
    logger.fine(ioex.toString());
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Synchronize the application named by mt.name in the base directory.  If the application is out of date, add the application files to the payload, including the generated files.
 */
private boolean syncApp(Application app,File base,ModTime mt,Payload.Outbound payload) throws URISyntaxException {
  if (logger.isLoggable(Level.FINER))   logger.finer("String_Node_Str" + mt.name);
  try {
    File appDir=fileOf(base,mt.name);
    if (syncArchive) {
      File archive=app.application();
      if (logger.isLoggable(Level.FINEST))       logger.finest("String_Node_Str" + archive);
      if (mt.time != 0 && archive.lastModified() == mt.time)       return false;
      attachAppArchive(archive,payload);
    }
 else {
      if (logger.isLoggable(Level.FINEST))       logger.finest("String_Node_Str" + appDir);
      if (mt.time != 0 && appDir.lastModified() == mt.time)       return false;
      if (logger.isLoggable(Level.FINE))       logger.fine("String_Node_Str" + "String_Node_Str" + mt.name + (mt.time == 0 ? "String_Node_Str" : "String_Node_Str"));
      attachAppDir(appDir,payload);
    }
    File gdir;
    gdir=env.getApplicationCompileJspPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=env.getApplicationGeneratedXMLPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=env.getApplicationEJBStubPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=new File(env.getApplicationStubPath(),"String_Node_Str");
    attachAppDir(fileOf(gdir,mt.name),payload);
    gdir=env.getApplicationAltDDPath();
    attachAppDir(fileOf(gdir,mt.name),payload);
  }
 catch (  IOException ioex) {
    if (logger.isLoggable(Level.FINE)) {
      logger.fine("String_Node_Str" + mt.name);
      logger.fine(ioex.toString());
    }
  }
  return true;
}