Program: 50232
Project: 50232
Buggy source:
public void addInitialTaxonomyTableIntoGraph(String filename){
  String str="String_Node_Str";
  int count=0;
  HashMap<String,Node> dbnodes=new HashMap<String,Node>();
  HashMap<String,String> parents=new HashMap<String,String>();
  Transaction tx;
  ArrayList<String> templines=new ArrayList<String>();
  try {
    tx=graphDb.beginTx();
    try {
      Node node=graphDb.createNode();
      node.setProperty("String_Node_Str","String_Node_Str");
      nodeIndex.add(node,"String_Node_Str","String_Node_Str");
      dbnodes.put("String_Node_Str",node);
      tx.success();
    }
  finally {
      tx.finish();
    }
    BufferedReader br=new BufferedReader(new FileReader(filename));
    while ((str=br.readLine()) != null) {
      count+=1;
      templines.add(str);
      if (count % transaction_iter == 0) {
        System.out.print(count);
        System.out.print("String_Node_Str");
        tx=graphDb.beginTx();
        try {
          for (int i=0; i < templines.size(); i++) {
            String[] spls=templines.get(i).split("String_Node_Str");
            if (spls[1].length() > 0) {
              Node tnode=graphDb.createNode();
              tnode.setProperty("String_Node_Str",spls[2]);
              nodeIndex.add(tnode,"String_Node_Str",spls[2]);
              parents.put(spls[0],spls[1]);
              dbnodes.put(spls[0],tnode);
            }
          }
          tx.success();
        }
  finally {
          tx.finish();
        }
        templines.clear();
      }
    }
    br.close();
    tx=graphDb.beginTx();
    try {
      for (int i=0; i < templines.size(); i++) {
        String[] spls=templines.get(i).split("String_Node_Str");
        count+=1;
        if (spls[1].length() > 0) {
          Node tnode=graphDb.createNode();
          tnode.setProperty("String_Node_Str",spls[2]);
          nodeIndex.add(tnode,"String_Node_Str",spls[2]);
          parents.put(spls[0],spls[1]);
          dbnodes.put(spls[0],tnode);
        }
      }
      tx.success();
    }
  finally {
      tx.finish();
    }
    templines.clear();
    ArrayList<String> temppar=new ArrayList<String>();
    count=0;
    for (    String key : dbnodes.keySet()) {
      count+=1;
      temppar.add(key);
      if (count % transaction_iter == 0) {
        System.out.println(count);
        tx=graphDb.beginTx();
        try {
          for (int i=0; i < temppar.size(); i++) {
            try {
              Relationship rel=dbnodes.get(temppar.get(i)).createRelationshipTo(dbnodes.get(parents.get(temppar.get(i))),RelTypes.CHILDOF);
              rel.setProperty("String_Node_Str",filename);
              rel.setProperty("String_Node_Str",temppar.get(i));
              rel.setProperty("String_Node_Str",parents.get(temppar.get(i)));
            }
 catch (            java.lang.IllegalArgumentException io) {
              continue;
            }
          }
          tx.success();
        }
  finally {
          tx.finish();
        }
        temppar.clear();
      }
    }
    tx=graphDb.beginTx();
    try {
      for (int i=0; i < temppar.size(); i++) {
        try {
          Relationship rel=dbnodes.get(temppar.get(i)).createRelationshipTo(dbnodes.get(parents.get(temppar.get(i))),RelTypes.CHILDOF);
          rel.setProperty("String_Node_Str",filename);
          rel.setProperty("String_Node_Str",temppar.get(i));
          rel.setProperty("String_Node_Str",parents.get(temppar.get(i)));
        }
 catch (        java.lang.IllegalArgumentException io) {
          continue;
        }
      }
      tx.success();
    }
  finally {
      tx.finish();
    }
  }
 catch (  IOException ioe) {
  }
}

Fixed version (ground truth):
public void addInitialTaxonomyTableIntoGraph(String filename){
  String str="String_Node_Str";
  int count=0;
  HashMap<String,Node> dbnodes=new HashMap<String,Node>();
  HashMap<String,String> parents=new HashMap<String,String>();
  Transaction tx;
  ArrayList<String> templines=new ArrayList<String>();
  try {
    tx=graphDb.beginTx();
    try {
      Node node=graphDb.createNode();
      node.setProperty("String_Node_Str","String_Node_Str");
      nodeIndex.add(node,"String_Node_Str","String_Node_Str");
      dbnodes.put("String_Node_Str",node);
      tx.success();
    }
  finally {
      tx.finish();
    }
    BufferedReader br=new BufferedReader(new FileReader(filename));
    while ((str=br.readLine()) != null) {
      count+=1;
      templines.add(str);
      if (count % transaction_iter == 0) {
        System.out.print(count);
        System.out.print("String_Node_Str");
        tx=graphDb.beginTx();
        try {
          for (int i=0; i < templines.size(); i++) {
            String[] spls=templines.get(i).split("String_Node_Str");
            if (spls[1].length() > 0) {
              Node tnode=graphDb.createNode();
              tnode.setProperty("String_Node_Str",spls[2]);
              nodeIndex.add(tnode,"String_Node_Str",spls[2]);
              parents.put(spls[0],spls[1]);
              dbnodes.put(spls[0],tnode);
            }
          }
          tx.success();
        }
  finally {
          tx.finish();
        }
        templines.clear();
      }
    }
    br.close();
    tx=graphDb.beginTx();
    try {
      for (int i=0; i < templines.size(); i++) {
        String[] spls=templines.get(i).split("String_Node_Str");
        count+=1;
        if (spls[1].length() > 0) {
          Node tnode=graphDb.createNode();
          tnode.setProperty("String_Node_Str",spls[2]);
          nodeIndex.add(tnode,"String_Node_Str",spls[2]);
          parents.put(spls[0],spls[1]);
          dbnodes.put(spls[0],tnode);
        }
      }
      tx.success();
    }
  finally {
      tx.finish();
    }
    templines.clear();
    ArrayList<String> temppar=new ArrayList<String>();
    count=0;
    for (    String key : dbnodes.keySet()) {
      count+=1;
      temppar.add(key);
      if (count % transaction_iter == 0) {
        System.out.println(count);
        tx=graphDb.beginTx();
        try {
          for (int i=0; i < temppar.size(); i++) {
            try {
              Relationship rel=dbnodes.get(temppar.get(i)).createRelationshipTo(dbnodes.get(parents.get(temppar.get(i))),RelTypes.TAXCHILDOF);
              rel.setProperty("String_Node_Str",filename);
              rel.setProperty("String_Node_Str",temppar.get(i));
              rel.setProperty("String_Node_Str",parents.get(temppar.get(i)));
            }
 catch (            java.lang.IllegalArgumentException io) {
              continue;
            }
          }
          tx.success();
        }
  finally {
          tx.finish();
        }
        temppar.clear();
      }
    }
    tx=graphDb.beginTx();
    try {
      for (int i=0; i < temppar.size(); i++) {
        try {
          Relationship rel=dbnodes.get(temppar.get(i)).createRelationshipTo(dbnodes.get(parents.get(temppar.get(i))),RelTypes.TAXCHILDOF);
          rel.setProperty("String_Node_Str",filename);
          rel.setProperty("String_Node_Str",temppar.get(i));
          rel.setProperty("String_Node_Str",parents.get(temppar.get(i)));
        }
 catch (        java.lang.IllegalArgumentException io) {
          continue;
        }
      }
      tx.success();
    }
  finally {
      tx.finish();
    }
  }
 catch (  IOException ioe) {
  }
}