Program: 11203
Project: 11203
Buggy source:
@Test public void SelectTestWithAlias(){
  ClusterName targetCluster=new ClusterName("String_Node_Str");
  List<LogicalStep> logicalSteps=new ArrayList<>();
  TableName tableName=new TableName("String_Node_Str","String_Node_Str");
  List<ColumnName> columnList=new ArrayList<>();
  ColumnName columnName=new ColumnName(tableName,"String_Node_Str");
  columnList.add(columnName);
  Project project=new Project(Operations.PROJECT,tableName,targetCluster,columnList);
  Selector selector=new ColumnSelector(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str"));
  Selector rightTerm=new StringSelector("String_Node_Str");
  Selector selector2=new ColumnSelector(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str"));
  Selector rightTerm2=new StringSelector("String_Node_Str");
  Relation relation2=new Relation(selector2,Operator.EQ,rightTerm2);
  Filter filter2=new Filter(Operations.FILTER_INDEXED_EQ,relation2);
  Relation relation=new Relation(selector,Operator.EQ,rightTerm);
  Filter filter=new Filter(Operations.FILTER_NON_INDEXED_EQ,relation);
  Map<ColumnName,String> aliasColumns=new HashMap<>();
  aliasColumns.put(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str"),"String_Node_Str");
  Map<String,ColumnType> typeMap=new HashMap<>();
  Map<ColumnName,ColumnType> typeMapFromColumnName=new HashMap<>();
  typeMap.put("String_Node_Str",ColumnType.VARCHAR);
  typeMapFromColumnName.put(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str"),ColumnType.VARCHAR);
  Select aliasSelect=new Select(Operations.SELECT_LIMIT,aliasColumns,typeMap,typeMapFromColumnName);
  filter2.setNextStep(aliasSelect);
  filter.setNextStep(filter2);
  project.setNextStep(filter);
  logicalSteps.add(project);
  LogicalWorkflow workflow=new LogicalWorkflow(logicalSteps);
  Map<String,Session> sessions=new HashMap<>();
  sessions.put("String_Node_Str",this._session);
  CassandraQueryEngine cqe=new CassandraQueryEngine(sessions,100);
  QueryResult qr=null;
  try {
    qr=cqe.execute(workflow);
  }
 catch (  ConnectorException e) {
    Assert.fail(e.getMessage());
  }
  String value="String_Node_Str";
  try {
    for (    Row row : qr.getResultSet()) {
      Cell cell=row.getCell("String_Node_Str");
      value=cell.getValue().toString();
    }
    assertEquals(value,"String_Node_Str","String_Node_Str");
    assertEquals(cqe.parseQuery(),"String_Node_Str","String_Node_Str");
  }
 catch (  Exception ex) {
    Assert.fail("String_Node_Str");
  }
}

Fixed version (ground truth):
@Test public void SelectTestWithAlias(){
  ClusterName targetCluster=new ClusterName("String_Node_Str");
  List<LogicalStep> logicalSteps=new ArrayList<>();
  TableName tableName=new TableName("String_Node_Str","String_Node_Str");
  List<ColumnName> columnList=new ArrayList<>();
  ColumnName columnName=new ColumnName(tableName,"String_Node_Str");
  columnList.add(columnName);
  Project project=new Project(Operations.PROJECT,tableName,targetCluster,columnList);
  Selector selector=new ColumnSelector(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str"));
  Selector rightTerm=new StringSelector("String_Node_Str");
  Selector selector2=new ColumnSelector(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str"));
  Selector rightTerm2=new StringSelector("String_Node_Str");
  Relation relation2=new Relation(selector2,Operator.EQ,rightTerm2);
  Filter filter2=new Filter(Operations.FILTER_INDEXED_EQ,relation2);
  Relation relation=new Relation(selector,Operator.EQ,rightTerm);
  Filter filter=new Filter(Operations.FILTER_NON_INDEXED_EQ,relation);
  Map<Selector,String> aliasColumns=new HashMap<>();
  aliasColumns.put(new ColumnSelector(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str")),"String_Node_Str");
  Map<String,ColumnType> typeMap=new HashMap<>();
  Map<Selector,ColumnType> typeMapFromColumnName=new HashMap<>();
  typeMap.put("String_Node_Str",ColumnType.VARCHAR);
  typeMapFromColumnName.put(new ColumnSelector(new ColumnName("String_Node_Str","String_Node_Str","String_Node_Str")),ColumnType.VARCHAR);
  Select aliasSelect=new Select(Operations.SELECT_LIMIT,aliasColumns,typeMap,typeMapFromColumnName);
  filter2.setNextStep(aliasSelect);
  filter.setNextStep(filter2);
  project.setNextStep(filter);
  logicalSteps.add(project);
  LogicalWorkflow workflow=new LogicalWorkflow(logicalSteps);
  Map<String,Session> sessions=new HashMap<>();
  sessions.put("String_Node_Str",this._session);
  CassandraQueryEngine cqe=new CassandraQueryEngine(sessions,100);
  QueryResult qr=null;
  try {
    qr=cqe.execute(workflow);
  }
 catch (  ConnectorException e) {
    Assert.fail(e.getMessage());
  }
  String value="String_Node_Str";
  try {
    for (    Row row : qr.getResultSet()) {
      Cell cell=row.getCell("String_Node_Str");
      value=cell.getValue().toString();
    }
    assertEquals(value,"String_Node_Str","String_Node_Str");
    assertEquals(cqe.parseQuery(),"String_Node_Str","String_Node_Str");
  }
 catch (  Exception ex) {
    Assert.fail("String_Node_Str");
  }
}