Program: 50432
Project: 50432
Buggy source:
public void initialize(DifferentialExpressionAnalysis deAnalyzer,DifferentialExpressionCalculator deCalculator,String[] groups,ObjectArrayList<DiscoverSequenceVariantsMode.ReadIndexStats> readIndexStats,PrintWriter outWriter){
  if (deAnalyzer.eval("String_Node_Str") || deAnalyzer.eval("String_Node_Str")) {
    final Rengine rEngine=GobyRengine.getInstance().getRengine();
    fisherRInstalled=rEngine != null && rEngine.isAlive();
  }
  if (deAnalyzer.eval("String_Node_Str") && groups.length != 2) {
    System.err.println("String_Node_Str");
    System.exit(1);
  }
  statWriter=new StatisticsWriter(outWriter);
  this.groups=groups;
  this.readIndexStats=readIndexStats;
  refIdColumnIndex=statWriter.defineColumn("String_Node_Str");
  positionColumnIndex=statWriter.defineColumn("String_Node_Str");
  log2OddsRatioColumnIndex=StatisticsWriter.COLUMN_NOT_DEFINED;
  fisherExactPValueColumnIndex=-1;
  numberOfGroups=groups.length;
  samples=deCalculator.samples();
  numberOfSamples=samples.length;
  refCountsPerGroup=new int[numberOfGroups];
  variantsCountPerGroup=new int[numberOfGroups];
  distinctReadIndexCountPerGroup=new int[numberOfGroups];
  averageVariantQualityScorePerGroup=new float[numberOfGroups];
  refCountsPerSample=new int[numberOfSamples];
  variantsCountPerSample=new int[numberOfSamples];
  this.deAnalyzer=deAnalyzer;
  this.deCalculator=deCalculator;
  if (this.deAnalyzer.eval("String_Node_Str")) {
    log2OddsRatioColumnIndex=statWriter.defineColumn("String_Node_Str",groups[0],groups[1]);
    log2OddsRatioStandardErrorColumnIndex=statWriter.defineColumn("String_Node_Str");
    log2OddsRatioZColumnIndex=statWriter.defineColumn("String_Node_Str");
    fisherExactPValueColumnIndex=statWriter.defineColumn("String_Node_Str",groups[0],groups[1]);
  }
  statWriter.defineColumnSet(groups,"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  for (  String group : groups) {
    if (deAnalyzer.eval("String_Node_Str")) {
      statWriter.defineColumn("String_Node_Str",group);
    }
    statWriter.defineColumn("String_Node_Str",group);
  }
  if (deAnalyzer.eval("String_Node_Str")) {
    statWriter.defineColumnSet(deCalculator.samples(),"String_Node_Str","String_Node_Str","String_Node_Str");
  }
  statWriter.writeHeader();
}

Fixed version (ground truth):
public void initialize(DifferentialExpressionAnalysis deAnalyzer,DifferentialExpressionCalculator deCalculator,String[] groups,ObjectArrayList<DiscoverSequenceVariantsMode.ReadIndexStats> readIndexStats,PrintWriter outWriter){
  if (deAnalyzer.eval("String_Node_Str") || deAnalyzer.eval("String_Node_Str")) {
    final Rengine rEngine=GobyRengine.getInstance().getRengine();
    fisherRInstalled=rEngine != null && rEngine.isAlive();
  }
  if (deAnalyzer.eval("String_Node_Str") && groups.length != 2) {
    System.err.println("String_Node_Str");
    System.exit(1);
  }
  statWriter=new StatisticsWriter(outWriter);
  this.groups=groups;
  this.readIndexStats=readIndexStats;
  refIdColumnIndex=statWriter.defineColumn("String_Node_Str");
  positionColumnIndex=statWriter.defineColumn("String_Node_Str");
  log2OddsRatioColumnIndex=StatisticsWriter.COLUMN_NOT_DEFINED;
  fisherExactPValueColumnIndex=-1;
  numberOfGroups=groups.length;
  String[] deCalcSamples=deCalculator.samples();
  numberOfSamples=deCalcSamples.length;
  samples=new String[numberOfSamples];
  for (  DiscoverSequenceVariantsMode.ReadIndexStats stat : readIndexStats) {
    samples[stat.readerIndex]=stat.basename;
  }
  refCountsPerGroup=new int[numberOfGroups];
  variantsCountPerGroup=new int[numberOfGroups];
  distinctReadIndexCountPerGroup=new int[numberOfGroups];
  averageVariantQualityScorePerGroup=new float[numberOfGroups];
  refCountsPerSample=new int[numberOfSamples];
  variantsCountPerSample=new int[numberOfSamples];
  this.deAnalyzer=deAnalyzer;
  this.deCalculator=deCalculator;
  if (this.deAnalyzer.eval("String_Node_Str")) {
    log2OddsRatioColumnIndex=statWriter.defineColumn("String_Node_Str",groups[0],groups[1]);
    log2OddsRatioStandardErrorColumnIndex=statWriter.defineColumn("String_Node_Str");
    log2OddsRatioZColumnIndex=statWriter.defineColumn("String_Node_Str");
    fisherExactPValueColumnIndex=statWriter.defineColumn("String_Node_Str",groups[0],groups[1]);
  }
  statWriter.defineColumnSet(groups,"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  for (  String group : groups) {
    if (deAnalyzer.eval("String_Node_Str")) {
      statWriter.defineColumn("String_Node_Str",group);
    }
    statWriter.defineColumn("String_Node_Str",group);
  }
  if (deAnalyzer.eval("String_Node_Str")) {
    statWriter.defineColumnSet(deCalculator.samples(),"String_Node_Str","String_Node_Str","String_Node_Str");
  }
  statWriter.writeHeader();
}