Catching all bugs with static analysis would involve solving the halting problem, so it's never going to happen.
Only if you're using a Turing-complete programming language, and why would you do that?
Catching all bugs with static analysis is actually really easy, as long as you don't mind false positives.
A lot of software doing useful work halts pretty trivialy, consuming inputs and doing bounded computation on each of them. You're not going to recurse much in click handlers or keep making larger requests to handle the current one.