Program: 95829
Project: 95829
Buggy source:
/** 
 * Adds a predictable pattern to the graph transaction. All vertices will have a specified vertex label and the pattern will be connected to the center vertex by an unique labelled edge.
 * @param vertexLabel label of pattern vertices
 * @param centerVertex center vertex
 * @param vertices stores created vertices
 * @param edges stores created edges
 */
private void addPattern(String vertexLabel,V centerVertex,Set<V> vertices,Set<E> edges){
  GradoopId multiBottomId=createVertex(vertexLabel,vertices);
  createEdge(centerVertex.getId(),multiBottomId.toString(),multiBottomId,edges);
  if (multigraph) {
    GradoopId multiTopId=createVertex(vertexLabel,vertices);
    createEdge(multiBottomId,"String_Node_Str",multiTopId,edges);
    createEdge(multiTopId,"String_Node_Str",multiBottomId,edges);
    createEdge(multiTopId,"String_Node_Str",multiBottomId,edges);
    createEdge(multiTopId,"String_Node_Str",multiTopId,edges);
  }
  GradoopId mirrorBottomId=createVertex(vertexLabel,vertices);
  GradoopId mirrorTopId=createVertex(vertexLabel,vertices);
  GradoopId mirrorLeftId=createVertex(vertexLabel,vertices);
  GradoopId mirrorRightId=createVertex(vertexLabel,vertices);
  createEdge(mirrorBottomId,"String_Node_Str",mirrorLeftId,edges);
  createEdge(mirrorBottomId,"String_Node_Str",mirrorRightId,edges);
  createEdge(mirrorLeftId,"String_Node_Str",mirrorTopId,edges);
  createEdge(mirrorRightId,"String_Node_Str",mirrorTopId,edges);
  createEdge(mirrorBottomId,"String_Node_Str",multiBottomId,edges);
  GradoopId cycleBottomId=createVertex(vertexLabel,vertices);
  GradoopId cycleLeftId=createVertex(vertexLabel,vertices);
  GradoopId cycleRightId=createVertex(vertexLabel,vertices);
  createEdge(cycleBottomId,"String_Node_Str",cycleLeftId,edges);
  createEdge(cycleLeftId,"String_Node_Str",cycleRightId,edges);
  createEdge(cycleRightId,"String_Node_Str",cycleBottomId,edges);
  createEdge(cycleBottomId,"String_Node_Str",multiBottomId,edges);
}

Fixed version (ground truth):
/** 
 * Adds a predictable pattern to the graph transaction. All vertices will have a specified vertex label and the pattern will be connected to the center vertex by an unique labelled edge.
 * @param graphNumber numeric graph identifier
 * @param vertexLabel label of pattern vertices
 * @param centerVertex center vertex
 * @param vertices stores created vertices
 * @param edges stores created edges
 */
private void addPattern(long graphNumber,String vertexLabel,V centerVertex,Set<V> vertices,Set<E> edges){
  GradoopId multiBottomId=createVertex(vertexLabel,vertices);
  createEdge(centerVertex.getId(),String.valueOf(graphNumber),multiBottomId,edges);
  if (multigraph) {
    GradoopId multiTopId=createVertex(vertexLabel,vertices);
    createEdge(multiBottomId,"String_Node_Str",multiTopId,edges);
    createEdge(multiTopId,"String_Node_Str",multiBottomId,edges);
    createEdge(multiTopId,"String_Node_Str",multiBottomId,edges);
    createEdge(multiTopId,"String_Node_Str",multiTopId,edges);
  }
  GradoopId mirrorBottomId=createVertex(vertexLabel,vertices);
  GradoopId mirrorTopId=createVertex(vertexLabel,vertices);
  GradoopId mirrorLeftId=createVertex(vertexLabel,vertices);
  GradoopId mirrorRightId=createVertex(vertexLabel,vertices);
  createEdge(mirrorBottomId,"String_Node_Str",mirrorLeftId,edges);
  createEdge(mirrorBottomId,"String_Node_Str",mirrorRightId,edges);
  createEdge(mirrorLeftId,"String_Node_Str",mirrorTopId,edges);
  createEdge(mirrorRightId,"String_Node_Str",mirrorTopId,edges);
  createEdge(mirrorBottomId,"String_Node_Str",multiBottomId,edges);
  GradoopId cycleBottomId=createVertex(vertexLabel,vertices);
  GradoopId cycleLeftId=createVertex(vertexLabel,vertices);
  GradoopId cycleRightId=createVertex(vertexLabel,vertices);
  createEdge(cycleBottomId,"String_Node_Str",cycleLeftId,edges);
  createEdge(cycleLeftId,"String_Node_Str",cycleRightId,edges);
  createEdge(cycleRightId,"String_Node_Str",cycleBottomId,edges);
  createEdge(cycleBottomId,"String_Node_Str",multiBottomId,edges);
}