Program: 109034
Project: 109034
Buggy source:
/** 
 * Entry point.
 * @param args the arguments
 */
public static void main(final String[] args){
  final DefaultData data=Data.create();
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DefaultData subsetData=Data.create();
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DataSubset subset=DataSubset.create(data,subsetData);
  final DefaultHierarchy age=Hierarchy.create();
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DefaultHierarchy nationality=Hierarchy.create();
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DefaultHierarchy zip=Hierarchy.create();
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.getDefinition().setAttributeType("String_Node_Str",AttributeType.IDENTIFYING_ATTRIBUTE);
  data.getDefinition().setAttributeType("String_Node_Str",AttributeType.IDENTIFYING_ATTRIBUTE);
  data.getDefinition().setAttributeType("String_Node_Str",zip);
  data.getDefinition().setAttributeType("String_Node_Str",age);
  data.getDefinition().setAttributeType("String_Node_Str",nationality);
  data.getDefinition().setAttributeType("String_Node_Str",AttributeType.INSENSITIVE_ATTRIBUTE);
  final ARXAnonymizer anonymizer=new ARXAnonymizer();
  final ARXConfiguration config=new ARXConfiguration();
  config.addCriterion(new KAnonymity(2));
  config.addCriterion(new DPresence(1d / 2d,2d / 3d,subset));
  config.setAllowedOutliers(0d);
  config.setMetric(Metric.createEntropyMetric());
  try {
    final ARXResult result=anonymizer.anonymize(data,config);
    printResult(result,data);
    System.out.println("String_Node_Str");
    Iterator<String[]> transformed=result.getHandle().iterator();
    while (transformed.hasNext()) {
      System.out.print("String_Node_Str");
      System.out.println(Arrays.toString(transformed.next()));
    }
    System.out.println("String_Node_Str");
    transformed=result.getHandle().getContextSpecificView(config).iterator();
    while (transformed.hasNext()) {
      System.out.print("String_Node_Str");
      System.out.println(Arrays.toString(transformed.next()));
    }
  }
 catch (  final IllegalArgumentException e) {
    throw new RuntimeException(e);
  }
catch (  final IOException e) {
    throw new RuntimeException(e);
  }
}

Fixed version (ground truth):
/** 
 * Entry point.
 * @param args the arguments
 */
public static void main(final String[] args){
  final DefaultData data=Data.create();
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DefaultData subsetData=Data.create();
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  subsetData.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DataSubset subset=DataSubset.create(data,subsetData);
  final DefaultHierarchy age=Hierarchy.create();
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  age.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DefaultHierarchy nationality=Hierarchy.create();
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  nationality.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  final DefaultHierarchy zip=Hierarchy.create();
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  zip.add("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  data.getDefinition().setAttributeType("String_Node_Str",AttributeType.IDENTIFYING_ATTRIBUTE);
  data.getDefinition().setAttributeType("String_Node_Str",AttributeType.IDENTIFYING_ATTRIBUTE);
  data.getDefinition().setAttributeType("String_Node_Str",zip);
  data.getDefinition().setAttributeType("String_Node_Str",age);
  data.getDefinition().setAttributeType("String_Node_Str",nationality);
  data.getDefinition().setAttributeType("String_Node_Str",AttributeType.INSENSITIVE_ATTRIBUTE);
  final ARXAnonymizer anonymizer=new ARXAnonymizer();
  final ARXConfiguration config=new ARXConfiguration();
  config.addCriterion(new KAnonymity(2));
  config.addCriterion(new DPresence(1d / 2d,2d / 3d,subset));
  config.setAllowedOutliers(0d);
  config.setMetric(Metric.createEntropyMetric());
  try {
    final ARXResult result=anonymizer.anonymize(data,config);
    System.out.println("String_Node_Str");
    print(data.getHandle().iterator());
    System.out.println("String_Node_Str");
    print(data.getHandle().getContextSpecificView(config).iterator());
    printResult(result,data);
    System.out.println("String_Node_Str");
    print(result.getHandle().iterator());
    System.out.println("String_Node_Str");
    print(result.getHandle().getContextSpecificView(config).iterator());
  }
 catch (  final IllegalArgumentException e) {
    throw new RuntimeException(e);
  }
catch (  final IOException e) {
    throw new RuntimeException(e);
  }
}