Program: 76589
Project: 76589
Buggy source:
/** 
 * Test valid group column bindings. One non-key column binding  of group 2 directly uses the column binding defined in group 3.
 * @throws DataException
 */
public void testValidateNodes7() 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);
  }
 catch (  DataException e) {
    fail("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Test valid group column bindings. One non-key column binding  of group 2 directly uses the column binding defined in group 3.
 * @throws DataException
 */
public void testValidateNodes7() 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);
  }
 catch (  DataException e) {
    fail("String_Node_Str");
  }
}