Program: 88680
Project: 88680
Buggy source:
public void update(){
  cg.update();
  final jedd.internal.RelationContainer edges=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcc.v(),srcm.v(),stmt.v(),kind.v(),tgtc.v(),tgtm.v()},new jedd.PhysicalDomain[]{V1.v(),T1.v(),ST.v(),FD.v(),V2.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),cg.edges().get());
  final jedd.internal.RelationContainer wantedKinds=new jedd.internal.RelationContainer(new jedd.Attribute[]{kind.v()},new jedd.PhysicalDomain[]{FD.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().trueBDD());
  wantedKinds.eqMinus(jedd.internal.Jedd.v().literal(new Object[]{Kind.THREAD},new jedd.Attribute[]{kind.v()},new jedd.PhysicalDomain[]{FD.v()}));
  final jedd.internal.RelationContainer wantedEdges=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().compose(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().project(edges,new jedd.PhysicalDomain[]{ST.v(),V1.v(),V2.v()})),wantedKinds,new jedd.PhysicalDomain[]{FD.v()}));
  final jedd.internal.RelationContainer edgeClosure=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().replace(wantedEdges,new jedd.PhysicalDomain[]{T1.v(),T2.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()}));
  while (true) {
    final jedd.internal.RelationContainer oldClosure=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),edgeClosure);
    edgeClosure.eqUnion(jedd.internal.Jedd.v().compose(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T1.v()})),jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T1.v()}));
    if (jedd.internal.Jedd.v().equals(jedd.internal.Jedd.v().read(edgeClosure),oldClosure))     break;
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str"),edgeClosure).size());
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str"),edgeClosure).numNodes());
  }
  mayCflow.eqUnion(jedd.internal.Jedd.v().replace(jedd.internal.Jedd.v().join(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()})),entryPoints,new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T2.v()}));
  while (true) {
    final jedd.internal.RelationContainer oldMayCflow=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),mayCflow);
    mayCflow.eqUnion(jedd.internal.Jedd.v().join(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T2.v(),T3.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()})),jedd.internal.Jedd.v().replace(jedd.internal.Jedd.v().project(mayCflow,new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T1.v()}));
    if (jedd.internal.Jedd.v().equals(jedd.internal.Jedd.v().read(mayCflow),oldMayCflow))     break;
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mayCflow).size());
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mayCflow).numNodes());
  }
  final jedd.internal.RelationContainer allSources=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v()},new jedd.PhysicalDomain[]{T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().trueBDD());
  final jedd.internal.RelationContainer identity=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().copy(allSources,new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T1.v()}));
  notMustPreds.eqUnion(jedd.internal.Jedd.v().replace(jedd.internal.Jedd.v().join(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(entryPoints,new jedd.PhysicalDomain[]{T1.v()},new jedd.PhysicalDomain[]{T2.v()})),allSources,new jedd.PhysicalDomain[]{}),new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T1.v()}));
  while (true) {
    final jedd.internal.RelationContainer oldNotMustPreds=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),notMustPreds);
    notMustPreds.eqUnion(jedd.internal.Jedd.v().compose(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(wantedEdges,new jedd.PhysicalDomain[]{T1.v()},new jedd.PhysicalDomain[]{T3.v()})),jedd.internal.Jedd.v().minus(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(notMustPreds,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T3.v()})),identity),new jedd.PhysicalDomain[]{T3.v()}));
    if (jedd.internal.Jedd.v().equals(jedd.internal.Jedd.v().read(oldNotMustPreds),notMustPreds))     break;
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),notMustPreds).size());
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),notMustPreds).numNodes());
  }
  mustCflow.eq(jedd.internal.Jedd.v().minus(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().trueBDD()),notMustPreds));
  System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mustCflow).size());
  System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mustCflow).numNodes());
}

Fixed version (ground truth):
public void update(){
  cg.update();
  final jedd.internal.RelationContainer edges=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcc.v(),srcm.v(),stmt.v(),kind.v(),tgtc.v(),tgtm.v()},new jedd.PhysicalDomain[]{V1.v(),T1.v(),ST.v(),FD.v(),V2.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),cg.edges().get());
  final jedd.internal.RelationContainer wantedKinds=new jedd.internal.RelationContainer(new jedd.Attribute[]{kind.v()},new jedd.PhysicalDomain[]{FD.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().trueBDD());
  wantedKinds.eqMinus(jedd.internal.Jedd.v().literal(new Object[]{Kind.THREAD},new jedd.Attribute[]{kind.v()},new jedd.PhysicalDomain[]{FD.v()}));
  final jedd.internal.RelationContainer wantedEdges=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().compose(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().project(edges,new jedd.PhysicalDomain[]{ST.v(),V2.v(),V1.v()})),wantedKinds,new jedd.PhysicalDomain[]{FD.v()}));
  final jedd.internal.RelationContainer edgeClosure=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().replace(wantedEdges,new jedd.PhysicalDomain[]{T1.v(),T2.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()}));
  while (true) {
    final jedd.internal.RelationContainer oldClosure=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),edgeClosure);
    edgeClosure.eqUnion(jedd.internal.Jedd.v().compose(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T1.v()})),jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T1.v()}));
    if (jedd.internal.Jedd.v().equals(jedd.internal.Jedd.v().read(edgeClosure),oldClosure))     break;
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str"),edgeClosure).size());
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T2.v(),T3.v()},("String_Node_Str" + "String_Node_Str"),edgeClosure).numNodes());
  }
  mayCflow.eqUnion(jedd.internal.Jedd.v().join(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T2.v(),T3.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()})),jedd.internal.Jedd.v().replace(entryPoints,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T1.v()}));
  while (true) {
    final jedd.internal.RelationContainer oldMayCflow=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),mayCflow);
    mayCflow.eqUnion(jedd.internal.Jedd.v().replace(jedd.internal.Jedd.v().join(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(edgeClosure,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()})),jedd.internal.Jedd.v().replace(jedd.internal.Jedd.v().project(mayCflow,new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T1.v()}),new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T2.v()}));
    if (jedd.internal.Jedd.v().equals(jedd.internal.Jedd.v().read(mayCflow),oldMayCflow))     break;
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mayCflow).size());
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mayCflow).numNodes());
  }
  final jedd.internal.RelationContainer allSources=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v()},new jedd.PhysicalDomain[]{T1.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().trueBDD());
  final jedd.internal.RelationContainer identity=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T3.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),jedd.internal.Jedd.v().copy(jedd.internal.Jedd.v().replace(allSources,new jedd.PhysicalDomain[]{T1.v()},new jedd.PhysicalDomain[]{T3.v()}),new jedd.PhysicalDomain[]{T3.v()},new jedd.PhysicalDomain[]{T1.v()}));
  notMustPreds.eqUnion(jedd.internal.Jedd.v().join(jedd.internal.Jedd.v().read(entryPoints),allSources,new jedd.PhysicalDomain[]{}));
  while (true) {
    final jedd.internal.RelationContainer oldNotMustPreds=new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"),notMustPreds);
    notMustPreds.eqUnion(jedd.internal.Jedd.v().compose(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(wantedEdges,new jedd.PhysicalDomain[]{T1.v()},new jedd.PhysicalDomain[]{T3.v()})),jedd.internal.Jedd.v().minus(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().replace(notMustPreds,new jedd.PhysicalDomain[]{T2.v()},new jedd.PhysicalDomain[]{T3.v()})),identity),new jedd.PhysicalDomain[]{T3.v()}));
    if (jedd.internal.Jedd.v().equals(jedd.internal.Jedd.v().read(oldNotMustPreds),notMustPreds))     break;
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),notMustPreds).size());
    System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),notMustPreds).numNodes());
  }
  mustCflow.eq(jedd.internal.Jedd.v().minus(jedd.internal.Jedd.v().read(jedd.internal.Jedd.v().trueBDD()),notMustPreds));
  System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mustCflow).size());
  System.out.println("String_Node_Str" + new jedd.internal.RelationContainer(new jedd.Attribute[]{srcm.v(),tgtm.v()},new jedd.PhysicalDomain[]{T1.v(),T2.v()},("String_Node_Str" + "String_Node_Str"),mustCflow).numNodes());
}