Correct option is D
The correct substitution of the highlighted words is (d)
will have finished.
Explanation: With the time-clause “By the time you arrive” (simple present for a future reference point), the main clause should show an action
completed before that future moment. English uses the
future perfect (“will have + V3”) to mark prior completion relative to a future time. Also, subject–verb agreement requires
we finish, not we finishes. Thus, “By the time you arrive,
we will have finished dinner.”
Grammatical rule used: By the time + simple present (future reference) → main clause in future perfect (will have + past participle).
Example: By the time the movie starts, I
will have found my seat.
Information booster: If the reference point is in the
past, we use
past perfect in the main clause: By the time she arrived, we
had finished dinner.