Я бы сказал нет;за исключением «мертвого кода», который может определить компилятор.
Мое определение покрытия кода - это результат, который указывает, сколько раз каждая строка кода запускается в вашей программе: что, конечно, означает выполнениепрограмма.Определяющим фактором здесь обычно являются значения данных, проходящих через программу, которые определяют пути выполнения, взятые условными выражениями.Статический анализ, как и компилятор, может вывести строки кода, которые не могут быть выполнены ни при каких условиях.
Примером здесь является то, что ваша программа использует стороннюю библиотеку, но в ней есть ошибка.Если ваша программа никогда не использует эти части библиотеки, или данные, которые вы отправляете в библиотеку, заставляют ее избегать ошибки, это не повлияет на вас.
Вы можете написать программу, которая, если подумать,предполагает, что все условные выражения будут приняты, и следует за всеми вызовами функций через все производные классы, но я не уверен, что это скажет вам.Это, конечно, не может сказать вам, есть ли какие-либо ошибки в покрытых строках кода.