Program: 76586
Project: 76586
Buggy source:
/** 
 * Test invalid group keys. The group key of group 2 directly uses the column binding defined in group 3.
 * @throws DataException
 */
public void testValidateNodes6() throws DataException {
  ExprManager em=new ExprManager();
  Map m=new HashMap();
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  em.addBindingExpr("String_Node_Str",m,1);
  m=new HashMap();
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  em.addBindingExpr("String_Node_Str",m,2);
  m=new HashMap();
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  em.addBindingExpr("String_Node_Str",m,3);
  try {
    ExprManagerUtil.validateColumnBinding(em);
    fail("String_Node_Str");
  }
 catch (  DataException e) {
  }
}

Fixed version (ground truth):
/** 
 * Test invalid group keys. The group key of group 2 directly uses the column binding defined in group 3.
 * @throws DataException
 */
public void testValidateNodes6() throws DataException {
  ExprManager em=new ExprManager(null);
  Map m=new HashMap();
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  em.addBindingExpr("String_Node_Str",m,1);
  m=new HashMap();
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  em.addBindingExpr("String_Node_Str",m,2);
  m=new HashMap();
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  m.put("String_Node_Str",new ScriptExpression("String_Node_Str"));
  em.addBindingExpr("String_Node_Str",m,3);
  try {
    ExprManagerUtil.validateColumnBinding(em,null);
    fail("String_Node_Str");
  }
 catch (  DataException e) {
  }
}