Program: 51047
Project: 51047
Buggy source:
public static GraphClassificationDataSet createClassificationDataSet(RDFDataSet rdfDataSet,String property,List<String> blackList,int depth,boolean includeInverse,boolean includeInference){
  List<DirectedMultigraphWithRoot<Vertex<String>,Edge<String>>> graphs=new ArrayList<DirectedMultigraphWithRoot<Vertex<String>,Edge<String>>>();
  List<String> labels=new ArrayList<String>();
  StringBuffer label=new StringBuffer();
  label.append(rdfDataSet.getLabel());
  label.append("String_Node_Str");
  label.append(property);
  label.append("String_Node_Str");
  label.append(depth);
  label.append("String_Node_Str");
  label.append(includeInverse);
  label.append("String_Node_Str");
  label.append(includeInference);
  List<Statement> triples=rdfDataSet.getStatementsFromStrings(null,property,null,false);
  for (  Statement triple : triples) {
    if (triple.getSubject() instanceof URI) {
      DirectedMultigraphWithRoot<Vertex<String>,Edge<String>> graph=GraphFactory.copyDirectedGraph2GraphWithRoot(GraphFactory.createDirectedGraph(rdfDataSet.getSubGraph((URI)triple.getSubject(),depth,includeInverse,includeInference)));
      graphs.add(graph);
      labels.add(triple.getObject().toString());
      graph.setRootVertex((findVertex(graph,triple.getSubject().toString())));
      Graphs.removeVerticesAndEdges(graph,null,blackList);
    }
  }
  return new GraphClassificationDataSet(label.toString(),graphs,labels);
}

Fixed version (ground truth):
public static GraphClassificationDataSet createClassificationDataSet(RDFDataSet rdfDataSet,String property,String invProperty,int depth,boolean includeInverse,boolean includeInference){
  List<DirectedMultigraphWithRoot<Vertex<String>,Edge<String>>> graphs=new ArrayList<DirectedMultigraphWithRoot<Vertex<String>,Edge<String>>>();
  List<String> labels=new ArrayList<String>();
  StringBuffer label=new StringBuffer();
  label.append(rdfDataSet.getLabel());
  label.append("String_Node_Str");
  label.append(property);
  label.append("String_Node_Str");
  label.append(depth);
  label.append("String_Node_Str");
  label.append(includeInverse);
  label.append("String_Node_Str");
  label.append(includeInference);
  List<Statement> triples=rdfDataSet.getStatementsFromStrings(null,property,null,false);
  List<Statement> blackList;
  for (  Statement triple : triples) {
    if (triple.getSubject() instanceof URI) {
      blackList=new ArrayList<Statement>();
      blackList.add(rdfDataSet.createStatement((URI)triple.getSubject(),rdfDataSet.createURI(property),rdfDataSet.createURI(triple.getObject().toString())));
      blackList.add(rdfDataSet.createStatement(rdfDataSet.createURI(triple.getObject().toString()),rdfDataSet.createURI(invProperty),(URI)triple.getSubject()));
      DirectedMultigraphWithRoot<Vertex<String>,Edge<String>> graph=GraphFactory.copyDirectedGraph2GraphWithRoot(GraphFactory.createDirectedGraph(rdfDataSet.getSubGraph((URI)triple.getSubject(),depth,includeInverse,includeInference,blackList)));
      graphs.add(graph);
      labels.add(triple.getObject().toString());
      graph.setRootVertex((findVertex(graph,triple.getSubject().toString())));
      for (      Vertex<String> vertex : graph.getVertices()) {
        if (vertex.getLabel().equals(triple.getObject().toString())) {
          for (          Edge<String> edge : graph.getInEdges(vertex)) {
            if (graph.getSource(edge).getLabel().equals(triple.getSubject().toString())) {
              System.out.println("String_Node_Str");
            }
          }
        }
      }
    }
  }
  return new GraphClassificationDataSet(label.toString(),graphs,labels);
}