Program: 19542
Project: 19542
Buggy source:
@Override @SuppressWarnings("String_Node_Str") public void allocate() throws IOException {
  TimerPool.getTimer(this,"String_Node_Str").start();
  if (ngramLogFile != null)   logFile=new PrintWriter(new FileOutputStream(ngramLogFile));
  if (location.getProtocol() == null || location.getProtocol().equals("String_Node_Str")) {
    loader=new BinaryLoader(new File(location.getFile()),format,applyLanguageWeightAndWip,logMath,languageWeight,wip,unigramWeight);
  }
 else {
    loader=new BinaryStreamLoader(location,format,applyLanguageWeightAndWip,logMath,languageWeight,wip,unigramWeight);
  }
  unigramIDMap=new HashMap<Word,UnigramProbability>();
  unigrams=loader.getUnigrams();
  loadedNGramBuffers=new Map[loader.getMaxDepth()];
  ngramProbTable=new float[loader.getMaxDepth()][];
  ngramBackoffTable=new float[loader.getMaxDepth()][];
  ngramSegmentTable=new int[loader.getMaxDepth()][];
  for (int i=1; i <= loader.getMaxDepth(); i++) {
    loadedNGramBuffers[i - 1]=new HashMap<WordSequence,NGramBuffer>();
    if (i >= 2)     ngramProbTable[i - 1]=loader.getNGramProbabilities(i);
    if (i > 2) {
      ngramBackoffTable[i - 1]=loader.getNGramBackoffWeights(i);
      ngramSegmentTable[i - 1]=loader.getNGramSegments(i);
    }
  }
  ngramDepthCache=new LRUCache<WordSequence,ProbDepth>(ngramCacheSize);
  buildUnigramIDMap(dictionary);
  loadedBigramBuffers=new NGramBuffer[unigrams.length];
  if (maxDepth <= 0 || maxDepth > loader.getMaxDepth())   maxDepth=loader.getMaxDepth();
  for (int i=1; i <= loader.getMaxDepth(); i++)   logger.info(Integer.toString(i) + "String_Node_Str" + loader.getNumberNGrams(i));
  if (fullSmear) {
    System.out.println("String_Node_Str");
    try {
      System.out.println("String_Node_Str");
      readSmearInfo("String_Node_Str");
      System.out.println("String_Node_Str");
    }
 catch (    IOException e) {
      System.out.println("String_Node_Str" + e);
      System.out.println("String_Node_Str");
      buildSmearInfo();
      System.out.println("String_Node_Str");
      System.out.println("String_Node_Str");
    }
  }
  TimerPool.getTimer(this,"String_Node_Str").stop();
}

Fixed version (ground truth):
@Override @SuppressWarnings("String_Node_Str") public void allocate() throws IOException {
  TimerPool.getTimer(this,"String_Node_Str").start();
  logger.info("String_Node_Str" + location);
  if (ngramLogFile != null)   logFile=new PrintWriter(new FileOutputStream(ngramLogFile));
  if (location.getProtocol() == null || location.getProtocol().equals("String_Node_Str")) {
    loader=new BinaryLoader(new File(location.getFile()),format,applyLanguageWeightAndWip,logMath,languageWeight,wip,unigramWeight);
  }
 else {
    loader=new BinaryStreamLoader(location,format,applyLanguageWeightAndWip,logMath,languageWeight,wip,unigramWeight);
  }
  unigramIDMap=new HashMap<Word,UnigramProbability>();
  unigrams=loader.getUnigrams();
  loadedNGramBuffers=new Map[loader.getMaxDepth()];
  ngramProbTable=new float[loader.getMaxDepth()][];
  ngramBackoffTable=new float[loader.getMaxDepth()][];
  ngramSegmentTable=new int[loader.getMaxDepth()][];
  for (int i=1; i <= loader.getMaxDepth(); i++) {
    loadedNGramBuffers[i - 1]=new HashMap<WordSequence,NGramBuffer>();
    if (i >= 2)     ngramProbTable[i - 1]=loader.getNGramProbabilities(i);
    if (i > 2) {
      ngramBackoffTable[i - 1]=loader.getNGramBackoffWeights(i);
      ngramSegmentTable[i - 1]=loader.getNGramSegments(i);
    }
  }
  ngramDepthCache=new LRUCache<WordSequence,ProbDepth>(ngramCacheSize);
  buildUnigramIDMap(dictionary);
  loadedBigramBuffers=new NGramBuffer[unigrams.length];
  if (maxDepth <= 0 || maxDepth > loader.getMaxDepth())   maxDepth=loader.getMaxDepth();
  for (int i=1; i <= loader.getMaxDepth(); i++)   logger.info(Integer.toString(i) + "String_Node_Str" + loader.getNumberNGrams(i));
  if (fullSmear) {
    System.out.println("String_Node_Str");
    try {
      System.out.println("String_Node_Str");
      readSmearInfo("String_Node_Str");
      System.out.println("String_Node_Str");
    }
 catch (    IOException e) {
      System.out.println("String_Node_Str" + e);
      System.out.println("String_Node_Str");
      buildSmearInfo();
      System.out.println("String_Node_Str");
      System.out.println("String_Node_Str");
    }
  }
  TimerPool.getTimer(this,"String_Node_Str").stop();
}