Program: 109043
Project: 109043
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 HashSet<Integer> subset=new HashSet<Integer>();
  subset.add(1);
  subset.add(2);
  subset.add(5);
  subset.add(7);
  subset.add(8);
  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.createPrecisionMetric());
  try {
    final ARXResult result=anonymizer.anonymize(data,config);
    printResult(result,data);
    System.out.println("String_Node_Str");
    final Iterator<String[]> transformed=result.getHandle().iterator();
    while (transformed.hasNext()) {
      System.out.print("String_Node_Str");
      System.out.println(Arrays.toString(transformed.next()));
    }
  }
 catch (  final IllegalArgumentException e) {
    e.printStackTrace();
    throw new RuntimeException(e);
  }
catch (  final IOException e) {
    e.printStackTrace();
    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 HashSet<Integer> subset=new HashSet<Integer>();
  subset.add(1);
  subset.add(2);
  subset.add(5);
  subset.add(7);
  subset.add(8);
  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");
    final Iterator<String[]> transformed=result.getHandle().iterator();
    while (transformed.hasNext()) {
      System.out.print("String_Node_Str");
      System.out.println(Arrays.toString(transformed.next()));
    }
  }
 catch (  final IllegalArgumentException e) {
    e.printStackTrace();
    throw new RuntimeException(e);
  }
catch (  final IOException e) {
    e.printStackTrace();
    throw new RuntimeException(e);
  }
}