Program: 155918
Project: 155918
Buggy source:
public static void main(String[] args){
  TightDB.addNativeLibraryPath("String_Node_Str");
  int numOfValues=250000;
  System.out.println("String_Node_Str" + numOfValues + "String_Node_Str"+ REPEAT_SEARCH+ "String_Node_Str");
  System.out.print("String_Node_Str");
  TestResult tightdb=TestPerformance(new Tightdb(),numOfValues);
  System.out.print("String_Node_Str");
  TestResult javaArray=TestPerformance(new JavaArrayList(),numOfValues);
  System.out.print("String_Node_Str");
  TestResult sqlite=TestPerformance(new SQLiteTest(),numOfValues);
  System.out.println("String_Node_Str");
  String[] testText={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  System.out.println("String_Node_Str");
  for (int test=0; test < TESTS; ++test) {
    System.out.print(testText[test]);
    printTime(tightdb.testTime[test],"String_Node_Str","String_Node_Str");
    printTime(javaArray.testTime[test],"String_Node_Str","String_Node_Str");
    if (tightdb.testTime[test] > 0)     System.out.print("String_Node_Str" + javaArray.testTime[test] / tightdb.testTime[test] + "String_Node_Str");
 else     System.out.print("String_Node_Str");
    printTime(sqlite.testTime[test],"String_Node_Str","String_Node_Str");
    if (tightdb.testTime[test] > 0)     System.out.print("String_Node_Str" + sqlite.testTime[test] / tightdb.testTime[test] + "String_Node_Str");
 else     System.out.print("String_Node_Str");
    System.out.println();
  }
  long tightTotal=tightdb.javaDBMemUsed + tightdb.nativeDBMemUsed;
  long javaTotal=javaArray.javaDBMemUsed + javaArray.nativeDBMemUsed;
  long sqliteTotal=sqlite.javaDBMemUsed + sqlite.nativeDBMemUsed;
  System.out.printf("String_Node_Str",toKB(tightTotal),toKB(javaTotal),javaTotal / tightTotal,toKB(sqliteTotal),sqliteTotal / tightTotal);
  System.out.println("String_Node_Str");
}

Fixed version (ground truth):
public static void main(String[] args){
  TightDB.addNativeLibraryPath("String_Node_Str");
  int numOfValues=250000;
  System.out.println("String_Node_Str" + numOfValues + "String_Node_Str"+ REPEAT_SEARCH+ "String_Node_Str");
  System.out.print("String_Node_Str");
  TestResult tightdb=TestPerformance(new Tightdb(),numOfValues);
  System.out.print("String_Node_Str");
  TestResult javaArray=TestPerformance(new JavaArrayList(),numOfValues);
  System.out.print("String_Node_Str");
  TestResult sqlite=TestPerformance(new SQLiteTest(),numOfValues);
  System.out.println("String_Node_Str");
  String[] testText={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
  System.out.println("String_Node_Str");
  for (int test=0; test < TESTS; ++test) {
    System.out.print(testText[test]);
    printTime(tightdb.testTime[test],"String_Node_Str","String_Node_Str");
    printTime(javaArray.testTime[test],"String_Node_Str","String_Node_Str");
    if (tightdb.testTime[test] > 0)     System.out.print("String_Node_Str" + javaArray.testTime[test] / tightdb.testTime[test] + "String_Node_Str");
 else     System.out.print("String_Node_Str");
    printTime(sqlite.testTime[test],"String_Node_Str","String_Node_Str");
    if (tightdb.testTime[test] > 0)     System.out.print("String_Node_Str" + sqlite.testTime[test] / tightdb.testTime[test] + "String_Node_Str");
 else     System.out.print("String_Node_Str");
    System.out.println();
  }
  long tightTotal=tightdb.javaDBMemUsed + tightdb.nativeDBMemUsed;
  long javaTotal=javaArray.javaDBMemUsed + javaArray.nativeDBMemUsed;
  long sqliteTotal=sqlite.javaDBMemUsed + sqlite.nativeDBMemUsed;
  System.out.printf("String_Node_Str",toKB(tightTotal),toKB(javaTotal),javaTotal / tightTotal,toKB(sqliteTotal),sqliteTotal / tightTotal);
  System.out.println("String_Node_Str");
  if (pause)   util.waitForEnter();
}