Program: 107769
Project: 107769
Buggy source:
/** 
 * Entry point.
 * @param args the arguments
 * @throws ParseException
 * @throws IOException
 * @throws NoSuchAlgorithmException 
 * @throws RollbackRequiredException 
 */
public static void main(String[] args) throws ParseException, IOException, NoSuchAlgorithmException, RollbackRequiredException {
  Data data=createData("String_Node_Str");
  data.getDefinition().setDataType("String_Node_Str",DataType.INTEGER);
  data.getDefinition().setMicroAggregationFunction("String_Node_Str",MicroAggregationFunction.createArithmeticMean());
  ARXAnonymizer anonymizer=new ARXAnonymizer();
  ARXConfiguration config=ARXConfiguration.create();
  config.addPrivacyModel(new KAnonymity(5));
  config.setSuppressionLimit(1d);
  config.setQualityModel(Metric.createLossMetric(0d));
  ARXResult result=anonymizer.anonymize(data,config);
  DataHandle output=result.getOutput();
  result.optimizeIterativeFast(output,0.01d);
  System.out.println("String_Node_Str");
  StatisticsQuality utility=data.getHandle().getStatistics().getQualityStatistics();
  System.out.println("String_Node_Str");
  System.out.println("String_Node_Str" + utility.getAmbiguity().getValue());
  System.out.println("String_Node_Str" + utility.getAverageClassSize().getValue());
  System.out.println("String_Node_Str" + utility.getDiscernibility().getValue());
  System.out.println("String_Node_Str" + utility.getGranularity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getAttributeLevelSquaredError().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getKullbackLeiblerDivergence().getValue());
  System.out.println("String_Node_Str" + utility.getNonUniformEntropy().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getGeneralizationIntensity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getRecordLevelSquaredError().getValue());
  utility=output.getStatistics().getQualityStatistics();
  System.out.println("String_Node_Str");
  System.out.println("String_Node_Str" + utility.getAmbiguity().getValue());
  System.out.println("String_Node_Str" + utility.getAverageClassSize().getValue());
  System.out.println("String_Node_Str" + utility.getDiscernibility().getValue());
  System.out.println("String_Node_Str" + utility.getGranularity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getAttributeLevelSquaredError().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getKullbackLeiblerDivergence().getValue());
  System.out.println("String_Node_Str" + utility.getNonUniformEntropy().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getGeneralizationIntensity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getRecordLevelSquaredError().getValue());
}

Fixed version (ground truth):
/** 
 * Entry point.
 * @param args the arguments
 * @throws ParseException
 * @throws IOException
 * @throws NoSuchAlgorithmException 
 * @throws RollbackRequiredException 
 */
public static void main(String[] args) throws ParseException, IOException, NoSuchAlgorithmException, RollbackRequiredException {
  Data data=createData("String_Node_Str");
  data.getDefinition().setDataType("String_Node_Str",DataType.INTEGER);
  data.getDefinition().setMicroAggregationFunction("String_Node_Str",MicroAggregationFunction.createArithmeticMean());
  ARXAnonymizer anonymizer=new ARXAnonymizer();
  ARXConfiguration config=ARXConfiguration.create();
  config.addPrivacyModel(new KAnonymity(5));
  config.setSuppressionLimit(1d);
  config.setQualityModel(Metric.createLossMetric(0d));
  ARXResult result=anonymizer.anonymize(data,config);
  DataHandle output=result.getOutput();
  result.optimizeIterativeFast(output,0.01d);
  System.out.println("String_Node_Str");
  StatisticsQuality utility=data.getHandle().getStatistics().getQualityStatistics();
  System.out.println("String_Node_Str");
  System.out.println("String_Node_Str" + utility.getAmbiguity().getValue());
  System.out.println("String_Node_Str" + utility.getAverageClassSize().getValue());
  System.out.println("String_Node_Str" + utility.getDiscernibility().getValue());
  System.out.println("String_Node_Str" + utility.getGranularity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getAttributeLevelSquaredError().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getNonUniformEntropy().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getGeneralizationIntensity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getRecordLevelSquaredError().getValue());
  utility=output.getStatistics().getQualityStatistics();
  System.out.println("String_Node_Str");
  System.out.println("String_Node_Str" + utility.getAmbiguity().getValue());
  System.out.println("String_Node_Str" + utility.getAverageClassSize().getValue());
  System.out.println("String_Node_Str" + utility.getDiscernibility().getValue());
  System.out.println("String_Node_Str" + utility.getGranularity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getAttributeLevelSquaredError().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getNonUniformEntropy().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getGeneralizationIntensity().getArithmeticMean(false));
  System.out.println("String_Node_Str" + utility.getRecordLevelSquaredError().getValue());
}