Program: 9892
Project: 9892
Buggy source:
private Set<OWLAxiom> rebuildAxioms(Set<OWLAxiom> axioms){
  Map<OWLAxiom,Set<OWLAxiom>> sourceAxioms2OPlus=new HashMap<OWLAxiom,Set<OWLAxiom>>();
  for (  OWLAxiom ax : axioms) {
    if (ontology.containsAxiom(ax)) {
      sourceAxioms2OPlus.put(ax,computeOPlus(Collections.singleton(ax)));
    }
  }
  Map<OWLClass,Map<OWLAxiom,Set<OWLSubClassAxiom>>> lhs2SubClassAxiom=new HashMap<OWLClass,Map<OWLAxiom,Set<OWLSubClassAxiom>>>();
  Set<OWLAxiom> reconstituedAxioms=new HashSet<OWLAxiom>();
  for (  OWLAxiom laconicAx : axioms) {
    if (laconicAx instanceof OWLSubClassAxiom) {
      OWLSubClassAxiom subAx=(OWLSubClassAxiom)laconicAx;
      if (subAx.getSubClass().isAnonymous()) {
        reconstituedAxioms.add(subAx);
      }
 else {
        Map<OWLAxiom,Set<OWLSubClassAxiom>> source2AxiomMap=lhs2SubClassAxiom.get(subAx.getSubClass().asOWLClass());
        if (source2AxiomMap == null) {
          source2AxiomMap=new HashMap<OWLAxiom,Set<OWLSubClassAxiom>>();
          lhs2SubClassAxiom.put(subAx.getSubClass().asOWLClass(),source2AxiomMap);
        }
        for (        OWLAxiom sourceAxiom : sourceAxioms2OPlus.keySet()) {
          if ((sourceAxioms2OPlus.get(sourceAxiom)).contains(subAx)) {
            Set<OWLSubClassAxiom> subClassAxioms=source2AxiomMap.get(sourceAxiom);
            if (subClassAxioms == null) {
              subClassAxioms=new HashSet<OWLSubClassAxiom>();
              source2AxiomMap.put(sourceAxiom,subClassAxioms);
            }
            subClassAxioms.add(subAx);
          }
        }
      }
    }
 else {
      reconstituedAxioms.add(laconicAx);
    }
  }
  Set<OWLAxiom> consumedAxioms=new HashSet<OWLAxiom>();
  for (  OWLClass lhs : lhs2SubClassAxiom.keySet()) {
    Map<OWLAxiom,Set<OWLSubClassAxiom>> source2SubClassAxiom=lhs2SubClassAxiom.get(lhs);
    for (    OWLAxiom source : source2SubClassAxiom.keySet()) {
      Set<OWLDescription> rightHandSides=new HashSet<OWLDescription>();
      for (      OWLSubClassAxiom sub : source2SubClassAxiom.get(source)) {
        if (!consumedAxioms.contains(sub)) {
          rightHandSides.add(sub.getSuperClass());
          consumedAxioms.add(sub);
        }
      }
      if (rightHandSides.size() == 1)       reconstituedAxioms.add(manager.getOWLDataFactory().getOWLSubClassAxiom((OWLDescription)lhs,((OWLDescription)rightHandSides.iterator().next())));
 else       if (rightHandSides.size() > 1) {
        org.semanticweb.owl.model.OWLObjectIntersectionOf conjunction=manager.getOWLDataFactory().getOWLObjectIntersectionOf(rightHandSides);
        reconstituedAxioms.add(manager.getOWLDataFactory().getOWLSubClassAxiom((OWLDescription)lhs,conjunction));
      }
    }
  }
  return reconstituedAxioms;
}

Fixed version (ground truth):
private Set<OWLAxiom> rebuildAxioms(Set<OWLAxiom> axioms){
  Map<OWLAxiom,Set<OWLAxiom>> sourceAxioms2OPlus=new HashMap<OWLAxiom,Set<OWLAxiom>>();
  for (  OWLAxiom ax : axioms) {
    if (ontology.containsAxiom(ax)) {
      sourceAxioms2OPlus.put(ax,computeOPlus(Collections.singleton(ax)));
    }
  }
  Map<OWLClass,Map<OWLAxiom,Set<OWLSubClassAxiom>>> lhs2SubClassAxiom=new HashMap<OWLClass,Map<OWLAxiom,Set<OWLSubClassAxiom>>>();
  Set<OWLAxiom> reconstituedAxioms=new HashSet<OWLAxiom>();
  for (  OWLAxiom laconicAx : axioms) {
    System.out.println("String_Node_Str" + laconicAx);
    if (laconicAx instanceof OWLSubClassAxiom) {
      OWLSubClassAxiom subAx=(OWLSubClassAxiom)laconicAx;
      if (subAx.getSubClass().isAnonymous()) {
        reconstituedAxioms.add(subAx);
      }
 else {
        Map<OWLAxiom,Set<OWLSubClassAxiom>> source2AxiomMap=lhs2SubClassAxiom.get(subAx.getSubClass().asOWLClass());
        if (source2AxiomMap == null) {
          source2AxiomMap=new HashMap<OWLAxiom,Set<OWLSubClassAxiom>>();
          lhs2SubClassAxiom.put(subAx.getSubClass().asOWLClass(),source2AxiomMap);
        }
        for (        OWLAxiom sourceAxiom : sourceAxioms2OPlus.keySet()) {
          if ((sourceAxioms2OPlus.get(sourceAxiom)).contains(subAx)) {
            Set<OWLSubClassAxiom> subClassAxioms=source2AxiomMap.get(sourceAxiom);
            if (subClassAxioms == null) {
              subClassAxioms=new HashSet<OWLSubClassAxiom>();
              source2AxiomMap.put(sourceAxiom,subClassAxioms);
            }
            subClassAxioms.add(subAx);
          }
        }
      }
    }
 else {
      reconstituedAxioms.add(laconicAx);
    }
  }
  Set<OWLAxiom> consumedAxioms=new HashSet<OWLAxiom>();
  for (  OWLClass lhs : lhs2SubClassAxiom.keySet()) {
    Map<OWLAxiom,Set<OWLSubClassAxiom>> source2SubClassAxiom=lhs2SubClassAxiom.get(lhs);
    for (    OWLAxiom source : source2SubClassAxiom.keySet()) {
      Set<OWLDescription> rightHandSides=new HashSet<OWLDescription>();
      for (      OWLSubClassAxiom sub : source2SubClassAxiom.get(source)) {
        if (!consumedAxioms.contains(sub)) {
          rightHandSides.add(sub.getSuperClass());
          consumedAxioms.add(sub);
        }
      }
      if (rightHandSides.size() == 1)       reconstituedAxioms.add(manager.getOWLDataFactory().getOWLSubClassAxiom((OWLDescription)lhs,((OWLDescription)rightHandSides.iterator().next())));
 else       if (rightHandSides.size() > 1) {
        org.semanticweb.owl.model.OWLObjectIntersectionOf conjunction=manager.getOWLDataFactory().getOWLObjectIntersectionOf(rightHandSides);
        reconstituedAxioms.add(manager.getOWLDataFactory().getOWLSubClassAxiom((OWLDescription)lhs,conjunction));
      }
    }
  }
  return reconstituedAxioms;
}