Program: 28919
Project: 28919
Buggy source:
/** 
 * @param metaEvent
 * @param currentState
 * @param eventTableMap
 * @param executorList
 * @param executionPlanContext
 * @param groupBy
 * @param defaultStreamEventIndex
 * @param queryName
 * @return
 */
private List<ExpressionExecutorDetails> basicFunctionExecutors(MetaComplexEvent metaEvent,int currentState,Map<String,EventTable> eventTableMap,List<VariableExpressionExecutor> executorList,ExecutionPlanContext executionPlanContext,boolean groupBy,int defaultStreamEventIndex,String queryName){
  Set<BaseExpressionDetails> baseAggregators=new HashSet<>();
  for (  CompositeAggregator compositeAggregator : this.compositeAggregators) {
    Expression[] bases=compositeAggregator.getBaseAggregators();
    for (    Expression expression : bases) {
      BaseExpressionDetails baseExpressionDetails=new BaseExpressionDetails(expression,compositeAggregator.getAttributeName());
      baseAggregators.add(baseExpressionDetails);
    }
  }
  List<ExpressionExecutorDetails> baseFunctionExecutors=new ArrayList<>();
  for (  BaseExpressionDetails baseAggregator : baseAggregators) {
    ExpressionExecutor expressionExecutor=ExpressionParser.parseExpression(baseAggregator.getBaseExpression(),metaEvent,currentState,eventTableMap,executorList,executionPlanContext,groupBy,defaultStreamEventIndex,queryName);
    String executorUniqueKey=((AttributeFunction)baseAggregator.getBaseExpression()).getName() + baseAggregator.getAttribute();
    ExpressionExecutorDetails executorDetails=new ExpressionExecutorDetails(expressionExecutor,executorUniqueKey);
    baseFunctionExecutors.add(executorDetails);
  }
  return baseFunctionExecutors;
}

Fixed version (ground truth):
/** 
 * @param metaEvent
 * @param currentState
 * @param tableMap
 * @param executorList
 * @param executionPlanContext
 * @param groupBy
 * @param defaultStreamEventIndex
 * @param queryName
 * @return
 */
private List<ExpressionExecutorDetails> basicFunctionExecutors(MetaComplexEvent metaEvent,int currentState,Map<String,Table> tableMap,List<VariableExpressionExecutor> executorList,ExecutionPlanContext executionPlanContext,boolean groupBy,int defaultStreamEventIndex,String queryName){
  Set<BaseExpressionDetails> baseAggregators=new HashSet<>();
  for (  CompositeAggregator compositeAggregator : this.compositeAggregators) {
    Expression[] bases=compositeAggregator.getBaseAggregators();
    for (    Expression expression : bases) {
      BaseExpressionDetails baseExpressionDetails=new BaseExpressionDetails(expression,compositeAggregator.getAttributeName());
      baseAggregators.add(baseExpressionDetails);
    }
  }
  List<ExpressionExecutorDetails> baseFunctionExecutors=new ArrayList<>();
  for (  BaseExpressionDetails baseAggregator : baseAggregators) {
    ExpressionExecutor expressionExecutor=ExpressionParser.parseExpression(baseAggregator.getBaseExpression(),metaEvent,currentState,tableMap,executorList,executionPlanContext,groupBy,defaultStreamEventIndex,queryName);
    String executorUniqueKey=((AttributeFunction)baseAggregator.getBaseExpression()).getName() + baseAggregator.getAttribute();
    ExpressionExecutorDetails executorDetails=new ExpressionExecutorDetails(expressionExecutor,executorUniqueKey);
    baseFunctionExecutors.add(executorDetails);
  }
  return baseFunctionExecutors;
}