A frase 'by the time' indica que uma ação será concluída antes que outra ação ocorra. Nesse caso, a resposta correta é 'will have finished', pois é a forma condicional perfeita do verbo 'finish', indicando que a ação de fazer o dever de casa será concluída antes da chegada.
Pratique mais questões como esta
Fazer simulado de INGLES