Program: 168115
Project: 168115
Buggy source:
public void wordCount(IProgressMonitor monitor,List<File> inputFiles,List<String> dictionaryFile,String stopWordsFile,String outputFile,String delimiters,boolean doLower,boolean doLiwcStemming,boolean doSnowBallStemming,boolean doSpss,boolean doWordDistribution,boolean stemDictionary,File oFile,File sFile,Date dateObj,Map<String,String[]> fileCorpuses) throws IOException {
  if (delimiters == null || delimiters.equals("String_Node_Str"))   this.delimiters="String_Node_Str";
 else   this.delimiters=delimiters;
  this.doLower=doLower;
  this.doLiwcStemming=doLiwcStemming;
  this.doSpss=doSpss;
  this.doWordDistribution=doWordDistribution;
  this.doSnowballStemming=doSnowBallStemming;
  this.stemDictionary=stemDictionary;
  if (!this.weighted)   this.doLiwcStemming=true;
  appendLog("String_Node_Str");
  if (stopWordsFile.equals(null) || stopWordsFile.equals("String_Node_Str") || !this.weighted)   this.doStopWords=false;
 else   this.doStopWords=true;
  long startTime=System.currentTimeMillis();
  monitor.subTask("String_Node_Str");
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.subTask("String_Node_Str");
  buildCategorizer(dictionaryFile);
  logger.info("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
  appendLog("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  if (doStopWords) {
    startTime=System.currentTimeMillis();
    monitor.subTask("String_Node_Str");
    stopWordSetBuild(new File(stopWordsFile));
    logger.info("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
    appendLog("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
  }
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.subTask("String_Node_Str");
  buildOutputFile(oFile);
  monitor.worked(2);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  if (doSpss) {
    monitor.subTask("String_Node_Str" + sFile.getName() + "String_Node_Str");
    buildSpssFile(sFile);
  }
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  for (  File inputFile : inputFiles) {
    String absoluteFilePath=inputFile.getAbsolutePath();
    if (absoluteFilePath.contains("String_Node_Str"))     continue;
    monitor.subTask("String_Node_Str" + inputFile);
    String corpus="String_Node_Str";
    if (fileCorpuses.containsKey(absoluteFilePath))     corpus=fileCorpuses.get(absoluteFilePath)[0] + "String_Node_Str" + fileCorpuses.get(absoluteFilePath)[1];
    countWords(inputFile,oFile,sFile,dateObj,corpus);
    monitor.worked(1);
  }
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.subTask("String_Node_Str");
  if (this.weighted)   TacitUtility.createRunReport(outputFile,"String_Node_Str",dateObj);
 else   TacitUtility.createRunReport(outputFile,"String_Node_Str",dateObj);
  monitor.worked(5);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
}

Fixed version (ground truth):
public void wordCount(IProgressMonitor monitor,List<File> inputFiles,List<String> dictionaryFile,String stopWordsFile,String outputFile,String delimiters,boolean doLower,boolean doLiwcStemming,boolean doSnowBallStemming,boolean doSpss,boolean doWordDistribution,boolean stemDictionary,File oFile,File sFile,Date dateObj,Map<String,String[]> fileCorpuses) throws IOException {
  if (delimiters == null || delimiters.equals("String_Node_Str"))   this.delimiters="String_Node_Str";
 else   this.delimiters=delimiters;
  this.doLower=doLower;
  this.doLiwcStemming=doLiwcStemming;
  this.doSpss=doSpss;
  this.doWordDistribution=doWordDistribution;
  this.doSnowballStemming=doSnowBallStemming;
  this.stemDictionary=stemDictionary;
  if (!this.weighted)   this.doLiwcStemming=true;
  appendLog("String_Node_Str");
  if (stopWordsFile.equals(null) || stopWordsFile.equals("String_Node_Str") || !this.weighted)   this.doStopWords=false;
 else   this.doStopWords=true;
  long startTime=System.currentTimeMillis();
  monitor.subTask("String_Node_Str");
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.subTask("String_Node_Str");
  buildCategorizer(dictionaryFile);
  logger.info("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
  appendLog("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  if (doStopWords) {
    startTime=System.currentTimeMillis();
    monitor.subTask("String_Node_Str");
    stopWordSetBuild(new File(stopWordsFile));
    logger.info("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
    appendLog("String_Node_Str" + (System.currentTimeMillis() - startTime) + "String_Node_Str");
  }
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.subTask("String_Node_Str");
  buildOutputFile(oFile);
  monitor.worked(2);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  if (doSpss) {
    monitor.subTask("String_Node_Str" + sFile.getName() + "String_Node_Str");
    buildSpssFile(sFile);
  }
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  for (  File inputFile : inputFiles) {
    if (monitor.isCanceled()) {
      throw new OperationCanceledException();
    }
    String absoluteFilePath=inputFile.getAbsolutePath();
    if (absoluteFilePath.contains("String_Node_Str"))     continue;
    monitor.subTask("String_Node_Str" + inputFile);
    String corpus="String_Node_Str";
    if (fileCorpuses.containsKey(absoluteFilePath))     corpus=fileCorpuses.get(absoluteFilePath)[0] + "String_Node_Str" + fileCorpuses.get(absoluteFilePath)[1];
    countWords(inputFile,oFile,sFile,dateObj,corpus);
    monitor.worked(1);
  }
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.worked(10);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
  monitor.subTask("String_Node_Str");
  if (this.weighted)   TacitUtility.createRunReport(outputFile,"String_Node_Str",dateObj);
 else   TacitUtility.createRunReport(outputFile,"String_Node_Str",dateObj);
  monitor.worked(5);
  if (monitor.isCanceled()) {
    throw new OperationCanceledException();
  }
}