Program: 10057
Project: 10057
Buggy source:
/** 
 * K: r2 \sqsubset r3; A2 \sqsubset A3 v1: {} /      \ r1        r1 /          \ v2:{A2,A3}    v3:{} /      |        | r1      r2        r3 /        |        | v4:{A1} v5:{A1,A2} v6:{A3} v1: - v2: in=inSC1=inSC2={v3}, out=outSC1=outSC2={} v3: in=inSC1=inSC2={}, out=outSC1=outSC2={v2} v4: out=outSC1={v5}, outSC2=inSC2={v5,v6}, in=inSC1={} v5: out=outSC1={}, in=inSC1=inSC2=outSC2={v4,v6} v6: out=outSC1={v5}, outSC2=inSC2={v4,v5}, in=inSC1={}
 */
@Test public void test4(){
  ReasonerComponent rs=TestOntologies.getTestOntology(TestOntology.SIMPLE2);
  ELDescriptionTree tree=new ELDescriptionTree(rs);
  Map<ELDescriptionNode,String> nodeNames=new LinkedHashMap<ELDescriptionNode,String>();
  ObjectProperty r1=new ObjectProperty(uri("String_Node_Str"));
  ObjectProperty r2=new ObjectProperty(uri("String_Node_Str"));
  ObjectProperty r3=new ObjectProperty(uri("String_Node_Str"));
  NamedClass a1=new NamedClass(uri("String_Node_Str"));
  NamedClass a2=new NamedClass(uri("String_Node_Str"));
  NamedClass a3=new NamedClass(uri("String_Node_Str"));
  ELDescriptionNode v1=new ELDescriptionNode(tree);
  nodeNames.put(v1,"String_Node_Str");
  ELDescriptionNode v2=new ELDescriptionNode(v1,r1,a2,a3);
  nodeNames.put(v2,"String_Node_Str");
  log("String_Node_Str",tree,nodeNames);
  ELDescriptionNode v3=new ELDescriptionNode(v1,r1);
  nodeNames.put(v3,"String_Node_Str");
  log("String_Node_Str",tree,nodeNames);
  ELDescriptionNode v4=new ELDescriptionNode(v2,r1,a1);
  nodeNames.put(v4,"String_Node_Str");
  log("String_Node_Str",tree,nodeNames);
  ELDescriptionNode v5=new ELDescriptionNode(v2,r3);
  nodeNames.put(v5,"String_Node_Str");
  log("String_Node_Str",tree,nodeNames);
  v5.extendLabel(a1);
  log("String_Node_Str",tree,nodeNames);
  v5.extendLabel(a2);
  log("String_Node_Str",tree,nodeNames);
  v2.refineEdge(1,r2);
  log("String_Node_Str",tree,nodeNames);
  ELDescriptionNode v6=new ELDescriptionNode(v3,r3);
  nodeNames.put(v6,"String_Node_Str");
  log("String_Node_Str",tree,nodeNames);
  v6.extendLabel(a3);
  log("String_Node_Str",tree,nodeNames);
  assertEmpty(v1);
  assertAllIn(v2,v3);
  assertAllOut(v2);
  assertAllIn(v3);
  assertAllOut(v2);
  assertSC2(v4,v5,v6);
  assertInSC1(v4);
  assertIn(v4);
  assertOut(v4,v5);
  assertOutSC1(v4,v5);
  assertAllIn(v5,v4,v6);
  assertOutSC2(v5,v4,v6);
  assertOutSC1(v5);
  assertOut(v5);
  assertSC2(v6,v4,v5);
  assertInSC1(v6);
  assertIn(v6);
  assertOut(v6,v5);
  assertOutSC1(v6,v5);
}

Fixed version (ground truth):
/** 
 * K: r2 \sqsubset r3; A2 \sqsubset A3 v1: {} /      \ r1        r1 /          \ v2:{A2,A3}    v3:{} /      |        | r1      r2        r3 /        |        | v4:{A1} v5:{A1,A2} v6:{A3} v1: - v2: in=inSC1=inSC2={v3}, out=outSC1=outSC2={} v3: in=inSC1=inSC2={}, out=outSC1=outSC2={v2} v4: out=outSC1={v5}, outSC2=inSC2={v5,v6}, in=inSC1={} v5: out=outSC1={}, in=inSC1=inSC2=outSC2={v4,v6} v6: out=outSC1={v5}, outSC2=inSC2={v4,v5}, in=inSC1={}
 */
@Test public void test4(){
  ReasonerComponent rs=TestOntologies.getTestOntology(TestOntology.SIMPLE2);
  ELDescriptionTree tree=new ELDescriptionTree(rs);
  Map<ELDescriptionNode,String> nodeNames=new LinkedHashMap<ELDescriptionNode,String>();
  ObjectProperty r1=new ObjectProperty(uri("String_Node_Str"));
  ObjectProperty r2=new ObjectProperty(uri("String_Node_Str"));
  ObjectProperty r3=new ObjectProperty(uri("String_Node_Str"));
  NamedClass a1=new NamedClass(uri("String_Node_Str"));
  NamedClass a2=new NamedClass(uri("String_Node_Str"));
  NamedClass a3=new NamedClass(uri("String_Node_Str"));
  ELDescriptionNode v1=new ELDescriptionNode(tree);
  nodeNames.put(v1,"String_Node_Str");
  ELDescriptionNode v2=new ELDescriptionNode(v1,r1,a2,a3);
  nodeNames.put(v2,"String_Node_Str");
  ELDescriptionNode v3=new ELDescriptionNode(v1,r1);
  nodeNames.put(v3,"String_Node_Str");
  ELDescriptionNode v4=new ELDescriptionNode(v2,r1,a1);
  nodeNames.put(v4,"String_Node_Str");
  ELDescriptionNode v5=new ELDescriptionNode(v2,r3);
  nodeNames.put(v5,"String_Node_Str");
  v5.extendLabel(a1);
  v5.extendLabel(a2);
  v2.refineEdge(1,r2);
  ELDescriptionNode v6=new ELDescriptionNode(v3,r3);
  nodeNames.put(v6,"String_Node_Str");
  v6.extendLabel(a3);
  assertEmpty(v1);
  assertAllIn(v2,v3);
  assertAllOut(v2);
  assertAllIn(v3);
  assertAllOut(v2);
  assertSC2(v4,v5,v6);
  assertInSC1(v4);
  assertIn(v4);
  assertOut(v4,v5);
  assertOutSC1(v4,v5);
  assertAllIn(v5,v4,v6);
  assertOutSC2(v5,v4,v6);
  assertOutSC1(v5);
  assertOut(v5);
  assertSC2(v6,v4,v5);
  assertInSC1(v6);
  assertIn(v6);
  assertOut(v6,v5);
  assertOutSC1(v6,v5);
}