Существует ли верхний предел для количества ошибок, содержащихся в данной программе? Если число инструкций известно, можно ли сказать, что программа не может содержать более n ошибок? Например, сколько ошибок может содержать следующая функция?
double calcInterest(double amount) {
return -O.07 / amount;
}
Парсер будет считать в функции четыре члена, и я мог бы подсчитать следующие ошибки:
- неправильный синтаксис номера
- неверная процентная ставка (ошибка бизнес-требований)
- неправильный расчет (следует умножить)
- Потенциальное деление на ноль
Очевидно, что количество ошибок не бесконечно, учитывая конечное количество инструкций. В качестве альтернативы можно сказать, что функция принимает 2 ^ 64 входных данных, и сколько из них выдает правильный вывод. Однако есть ли способ формально доказать верхний предел?