Program: 53510
Project: 53510
Buggy source:
public void testSmoke() throws Exception {
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetImport("String_Node_Str" + "String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
  Result result;
  (result=optimize("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","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str")).intoString("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","String_Node_Str");
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findField("String_Node_Str"));
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findClass("String_Node_Str"));
  assertNotNull(result.findClass("String_Node_Str"));
  assertNull(result.findMethod("String_Node_Str"));
  assertNull(result.findField("String_Node_Str"));
  assertNull(result.findField("String_Node_Str"));
  assertNull(result.findClass("String_Node_Str"));
  assertNull(result.findMethod("String_Node_Str"));
  assertNull(result.findField("String_Node_Str"));
  assertNull(result.findClass("String_Node_Str"));
  assertNull(result.findClass("String_Node_Str"));
  assertEquals("String_Node_Str" + "String_Node_Str" + "String_Node_Str",result.findMethod("String_Node_Str").toSource());
  assertEquals("String_Node_Str" + "String_Node_Str",result.findMethod("String_Node_Str").toSource());
  assertEquals("String_Node_Str",((JsniMethodBody)result.findMethod("String_Node_Str").getBody()).getJsniFieldRefs().toString());
  assertEquals("String_Node_Str",((JsniMethodBody)result.findMethod("String_Node_Str").getBody()).getJsniMethodRefs().toString());
  assertEquals("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",result.findClass("String_Node_Str").toSource());
  assertEquals("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str",findMethod(result.findClass("String_Node_Str"),"String_Node_Str").toSource());
  assertNull(result.findClass("String_Node_Str"));
  assertNotNull(result.findClass("String_Node_Str"));
}

Fixed version (ground truth):
public void testSmoke() throws Exception {
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str","String_Node_Str","String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetImport("String_Node_Str" + "String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetImport("String_Node_Str");
  addSnippetClassDecl("String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
  addSnippetClassDecl("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
  Result result;
  (result=optimize("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","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str")).intoString("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","String_Node_Str");
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findField("String_Node_Str"));
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findMethod("String_Node_Str"));
  assertNotNull(result.findClass("String_Node_Str"));
  assertNotNull(result.findClass("String_Node_Str"));
  assertNull(result.findMethod("String_Node_Str"));
  assertNull(result.findField("String_Node_Str"));
  assertNull(result.findField("String_Node_Str"));
  assertNull(result.findClass("String_Node_Str"));
  assertNull(result.findMethod("String_Node_Str"));
  assertNull(result.findField("String_Node_Str"));
  assertNull(result.findClass("String_Node_Str"));
  assertNull(result.findClass("String_Node_Str"));
  assertEquals("String_Node_Str" + "String_Node_Str" + "String_Node_Str",result.findMethod("String_Node_Str").toSource());
  assertEquals("String_Node_Str" + "String_Node_Str",result.findMethod("String_Node_Str").toSource());
  assertEquals("String_Node_Str",((JsniMethodBody)result.findMethod("String_Node_Str").getBody()).getJsniFieldRefs().toString());
  assertEquals("String_Node_Str",((JsniMethodBody)result.findMethod("String_Node_Str").getBody()).getJsniMethodRefs().toString());
  assertEquals("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",result.findClass("String_Node_Str").toSource());
  assertEquals("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str",findMethod(result.findClass("String_Node_Str"),"String_Node_Str").toSource());
  assertNull(result.findClass("String_Node_Str"));
  assertNotNull(result.findClass("String_Node_Str"));
}