Program: 23961
Project: 23961
Buggy source:
private void initialize(boolean clearCache) throws Exception {
  first=true;
  log("String_Node_Str");
  configuration=(JsonObject)new com.google.gson.JsonParser().parse(TextFile.fileToString(configFile));
  if (!"String_Node_Str".equals(str(configuration,"String_Node_Str")))   throw new Exception("String_Node_Str");
  tool=GenerationTool.Jekyll;
  if (!configuration.has("String_Node_Str") || !(configuration.get("String_Node_Str") instanceof JsonObject))   throw new Exception("String_Node_Str");
  JsonObject paths=configuration.getAsJsonObject("String_Node_Str");
  String root=Utilities.getDirectoryForFile(configFile);
  if (Utilities.noString(root))   root=getCurentDirectory();
  log("String_Node_Str" + root);
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     resourceDirs.add(Utilities.path(root,((JsonPrimitive)e).getAsString()));
  }
 else   resourceDirs.add(Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str")));
  pagesDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  tempDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  outputDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  qaDir=Utilities.path(root,str(paths,"String_Node_Str"));
  String vsCache=ostr(paths,"String_Node_Str");
  if (vsCache == null)   vsCache=Utilities.path(System.getProperty("String_Node_Str"),"String_Node_Str");
 else   vsCache=Utilities.path(root,vsCache);
  specPath=str(paths,"String_Node_Str");
  igName=Utilities.path(resourceDirs.get(0),configuration.get("String_Node_Str").getAsString());
  inspector=new HTLMLInspector(outputDir);
  log("String_Node_Str" + igName);
  log("String_Node_Str");
  for (  String s : resourceDirs) {
    dlog("String_Node_Str" + s);
    checkDir(s);
  }
  dlog("String_Node_Str" + pagesDir);
  checkDir(pagesDir);
  dlog("String_Node_Str" + tempDir);
  forceDir(tempDir);
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  dlog("String_Node_Str" + outputDir);
  forceDir(outputDir);
  dlog("String_Node_Str" + qaDir);
  forceDir(qaDir);
  log("String_Node_Str");
  try {
    context=SimpleWorkerContext.fromClassPath("String_Node_Str");
  }
 catch (  NullPointerException npe) {
    log("String_Node_Str");
    context=SimpleWorkerContext.fromPack("String_Node_Str");
  }
  context.setLogger(logger);
  log("String_Node_Str" + context.getVersionRevision());
  context.setAllowLoadingDuplicates(true);
  context.setExpandCodesLimit(1000);
  log("String_Node_Str" + txServer);
  Utilities.createDirectory(vsCache);
  context.initTS(vsCache,txServer);
  context.connectToTSServer(txServer);
  if (clearCache) {
    log("String_Node_Str" + vsCache + "String_Node_Str");
    Utilities.clearDirectory(vsCache);
  }
 else   log("String_Node_Str" + vsCache);
  validator=new InstanceValidator(context);
  validator.setAllowXsiLocation(true);
  loadSpecDetails(context.getBinaries().get("String_Node_Str"));
  igpkp=new IGKnowledgeProvider(context,specPath,configuration,errors);
  igpkp.loadSpecPaths(specMaps.get(0));
  fetcher.setPkp(igpkp);
  for (  String s : context.getBinaries().keySet())   if (needFile(s)) {
    checkMakeFile(context.getBinaries().get(s),Utilities.path(qaDir,s),otherFilesStartup);
    checkMakeFile(context.getBinaries().get(s),Utilities.path(tempDir,s),otherFilesStartup);
  }
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  JsonArray deps=configuration.getAsJsonArray("String_Node_Str");
  if (deps != null) {
    for (    JsonElement dep : deps) {
      loadIg((JsonObject)dep);
    }
  }
  log("String_Node_Str");
  JsonArray regenlist=configuration.getAsJsonArray("String_Node_Str");
  if (regenlist != null)   for (  JsonElement regen : regenlist)   regenList.add(((JsonPrimitive)regen).getAsString());
}

Fixed version (ground truth):
private void initialize(boolean clearCache) throws Exception {
  first=true;
  log("String_Node_Str");
  configuration=(JsonObject)new com.google.gson.JsonParser().parse(TextFile.fileToString(configFile));
  if (!"String_Node_Str".equals(str(configuration,"String_Node_Str")))   throw new Exception("String_Node_Str");
  tool=GenerationTool.Jekyll;
  if (!configuration.has("String_Node_Str") || !(configuration.get("String_Node_Str") instanceof JsonObject))   throw new Exception("String_Node_Str");
  JsonObject paths=configuration.getAsJsonObject("String_Node_Str");
  String root=Utilities.getDirectoryForFile(configFile);
  if (Utilities.noString(root))   root=getCurentDirectory();
  log("String_Node_Str" + root);
  if (paths.get("String_Node_Str") instanceof JsonArray) {
    for (    JsonElement e : (JsonArray)paths.get("String_Node_Str"))     resourceDirs.add(Utilities.path(root,((JsonPrimitive)e).getAsString()));
  }
 else   resourceDirs.add(Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str")));
  pagesDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  tempDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  outputDir=Utilities.path(root,str(paths,"String_Node_Str","String_Node_Str"));
  qaDir=Utilities.path(root,str(paths,"String_Node_Str"));
  String vsCache=ostr(paths,"String_Node_Str");
  if (vsCache == null)   vsCache=Utilities.path(System.getProperty("String_Node_Str"),"String_Node_Str");
 else   vsCache=Utilities.path(root,vsCache);
  specPath=str(paths,"String_Node_Str");
  if (configuration.has("String_Node_Str")) {
    JsonObject pp=configuration.getAsJsonObject("String_Node_Str");
    prePagesDir=Utilities.path(root,str(pp,"String_Node_Str"));
    prePagesXslt=Utilities.path(root,str(pp,"String_Node_Str"));
    checkDir(prePagesDir);
    checkFile(prePagesXslt);
    xslt=TextFile.fileToBytes(prePagesXslt);
  }
  igName=Utilities.path(resourceDirs.get(0),configuration.get("String_Node_Str").getAsString());
  inspector=new HTLMLInspector(outputDir);
  log("String_Node_Str" + igName);
  log("String_Node_Str");
  for (  String s : resourceDirs) {
    dlog("String_Node_Str" + s);
    checkDir(s);
  }
  dlog("String_Node_Str" + pagesDir);
  checkDir(pagesDir);
  dlog("String_Node_Str" + tempDir);
  forceDir(tempDir);
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  forceDir(Utilities.path(tempDir,"String_Node_Str"));
  dlog("String_Node_Str" + outputDir);
  forceDir(outputDir);
  dlog("String_Node_Str" + qaDir);
  forceDir(qaDir);
  log("String_Node_Str");
  try {
    context=SimpleWorkerContext.fromClassPath("String_Node_Str");
  }
 catch (  NullPointerException npe) {
    log("String_Node_Str");
    context=SimpleWorkerContext.fromPack("String_Node_Str");
  }
  context.setLogger(logger);
  log("String_Node_Str" + context.getVersionRevision());
  context.setAllowLoadingDuplicates(true);
  context.setExpandCodesLimit(1000);
  log("String_Node_Str" + txServer);
  Utilities.createDirectory(vsCache);
  context.initTS(vsCache,txServer);
  context.connectToTSServer(txServer);
  if (clearCache) {
    log("String_Node_Str" + vsCache + "String_Node_Str");
    Utilities.clearDirectory(vsCache);
  }
 else   log("String_Node_Str" + vsCache);
  validator=new InstanceValidator(context);
  validator.setAllowXsiLocation(true);
  loadSpecDetails(context.getBinaries().get("String_Node_Str"));
  igpkp=new IGKnowledgeProvider(context,specPath,configuration,errors);
  igpkp.loadSpecPaths(specMaps.get(0));
  fetcher.setPkp(igpkp);
  for (  String s : context.getBinaries().keySet())   if (needFile(s)) {
    checkMakeFile(context.getBinaries().get(s),Utilities.path(qaDir,s),otherFilesStartup);
    checkMakeFile(context.getBinaries().get(s),Utilities.path(tempDir,s),otherFilesStartup);
  }
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str","String_Node_Str"));
  otherFilesStartup.add(Utilities.path(tempDir,"String_Node_Str"));
  JsonArray deps=configuration.getAsJsonArray("String_Node_Str");
  if (deps != null) {
    for (    JsonElement dep : deps) {
      loadIg((JsonObject)dep);
    }
  }
  log("String_Node_Str");
  JsonArray regenlist=configuration.getAsJsonArray("String_Node_Str");
  if (regenlist != null)   for (  JsonElement regen : regenlist)   regenList.add(((JsonPrimitive)regen).getAsString());
}