Ответ:

После by the time с будущим значением используется Future Perfect для действия, завершившегося к определённому моменту: will have finished.

Ответ: c) will have finished.