Я не знаю Frama-C, но SPARK-доказательства - это, как я понимаю, абсолютные гарантии.С SPARK вы можете в какой-то степени выбрать, сколько вы хотите доказательств.
Основной уровень - это доказать отсутствие ошибок во время выполнения (исключения), но SPARK попытается доказать все утверждения (включая предварительные ипост-условия) вы вставляете в исходный текст.Поэтому, если вы вставляете утверждения, которые документируют некоторые функциональные требования, то гарантии (при условии, что ваши инструменты SPARK могут доказать правильность утверждений) распространяются на эти функциональные требования.