Program: 107796
Project: 107796
Buggy source:
/** 
 * Constructs a new hash groupify operator.
 * @param capacity The capacity
 * @param aggregation The aggregation information
 * @param config The config
 * @param input
 * @param output
 * @param analyzed
 */
public HashGroupify(int capacity,final ARXConfigurationInternal config,final int dataAnalyzedNumberOfColumns,final DataMatrix input,final DataMatrix output,final DataMatrix analyzed){
  this.dataInput=input;
  this.dataOutput=output;
  this.dataAnalyzed=analyzed;
  this.dataAnalyzedNumberOfColumns=dataAnalyzedNumberOfColumns;
  capacity=HashTableUtil.calculateCapacity(capacity);
  this.hashTableElementCount=0;
  this.hashTableBuckets=new HashGroupifyEntry[capacity];
  this.hashTableThreshold=HashTableUtil.calculateThreshold(hashTableBuckets.length,hashTableLoadFactor);
  this.currentNumOutliers=0;
  this.suppressionLimit=config.getAbsoluteMaxOutliers();
  this.utilityMeasure=config.getQualityModel();
  this.heuristicForSampleBasedCriteria=config.isUseHeuristicForSampleBasedCriteria();
  if (config.getSubset() != null) {
    this.privacyModelDefinesSubset=config.getSubset().getSet();
  }
 else {
    this.privacyModelDefinesSubset=null;
  }
  this.classBasedCriteria=config.getClassBasedPrivacyModelsAsArray();
  this.sampleBasedCriteria=config.getSampleBasedPrivacyModelsAsArray();
  this.minimalClassSize=config.getMinimalGroupSize();
  for (int i=1; i < classBasedCriteria.length; i++) {
    if (classBasedCriteria[i] instanceof DPresence) {
      throw new RuntimeException("String_Node_Str");
    }
  }
  privacyModelContainsDPresence=(classBasedCriteria.length > 0 && (classBasedCriteria[0] instanceof DPresence) && !(classBasedCriteria[0] instanceof Inclusion));
}

Fixed version (ground truth):
/** 
 * Constructs a new hash groupify operator.
 * @param capacity The capacity
 * @param aggregation The aggregation information
 * @param config The config
 * @param input
 * @param output
 * @param analyzed
 */
public HashGroupify(int capacity,final ARXConfigurationInternal config,final int dataAnalyzedNumberOfColumns,final DataMatrix input,final DataMatrix output,final DataMatrix analyzed){
  this.dataInput=input;
  this.dataOutput=output;
  this.dataAnalyzed=analyzed;
  this.dataAnalyzedNumberOfColumns=dataAnalyzedNumberOfColumns;
  capacity=HashTableUtil.calculateCapacity(capacity);
  this.hashTableElementCount=0;
  this.hashTableBuckets=new HashGroupifyEntry[capacity];
  this.hashTableThreshold=HashTableUtil.calculateThreshold(hashTableBuckets.length,hashTableLoadFactor);
  this.currentNumOutliers=0;
  this.suppressionLimit=config.getAbsoluteSuppressionLimit();
  this.utilityMeasure=config.getQualityModel();
  this.heuristicForSampleBasedCriteria=config.isUseHeuristicForSampleBasedCriteria();
  if (config.getSubset() != null) {
    this.privacyModelDefinesSubset=config.getSubset().getSet();
  }
 else {
    this.privacyModelDefinesSubset=null;
  }
  this.classBasedCriteria=config.getClassBasedPrivacyModelsAsArray();
  this.sampleBasedCriteria=config.getSampleBasedPrivacyModelsAsArray();
  this.minimalClassSize=config.getMinimalGroupSize();
  for (int i=1; i < classBasedCriteria.length; i++) {
    if (classBasedCriteria[i] instanceof DPresence) {
      throw new RuntimeException("String_Node_Str");
    }
  }
  privacyModelContainsDPresence=(classBasedCriteria.length > 0 && (classBasedCriteria[0] instanceof DPresence) && !(classBasedCriteria[0] instanceof Inclusion));
}