Why do you think that goal of coverage is 100%? Due to law of Diminishing returns, increasing coverage in other modules is more beneficial that 100% coverage in few.
Also, cyclomatic complexity cannot guesstimate which code is used most by your users.
You need to collect the usage info, and aim for higher coverage for most often used modules (determined not by guess, but by profiling). Example: 90% coverage (excluding exception handling) for top 10% of modules by usage, 80% for next 20%, and 60-70% for the rest. And of course track and note if code change decreased the coverage.
There cannot be a tool, because too many guesses are involved. So do your best guesses, using expert opinion.