Static Analysis
Instead of giving up, compiler writers resort to static analysis:
- Don't try to decide the question exactly
- Settle for an approximative answer
- Only give safe (=conservative/sound) answers
For the Halting Problem, the answers would be:
- "Yes, your program definitely always terminates"
- "I don't think your program always terminates, but I'm not really sure"
The engineering challenge is to give useful answers as often as possible - and be efficient