Некоторые методы, которые применяются для диагностики математических ошибок в программных системах:
- Метод ручного тестирования. 1 Это простой и естественный способ отладки программы. 1 При обнаружении ошибки необходимо выполнить тестируемую программу вручную, используя тестовый набор, при работе с которым была обнаружена ошибка. 1 Метод эффективен, но не применим для больших программных систем и программ со сложными вычислениями. 1
- Метод индукции. 1 Предусматривает подробный анализ проявления ошибки. 1 Это могут быть неверные результаты вычислений или сообщение об ошибке. 1 В результате выдвигаются гипотезы об ошибках, которые затем проверяются. 1
- Метод дедукции. 1 Сначала формируют множество причин, которые могли бы вызвать данное проявление ошибки. 1 Затем, анализируя причины, исключают те, которые противоречат имеющимся данным. 1 Если все причины исключены, то необходима дополнительная информация об ошибке и следует выполнить дополнительное тестирование исследуемого фрагмента. 1 В противном случае наиболее вероятную гипотезу пытаются доказать. 1 Если гипотеза объясняет полученные признаки ошибки, то ошибка найдена, иначе — проверяют следующую причину. 1
- Метод обратного прослеживания. 1 Используется для небольших программ. 1 Определяется точка вывода неправильного результата. 1 Затем строится гипотеза о значениях основных переменных, которые могли бы привести к получению этого результата. 1 Исходя из этой гипотезы, делают предположения о значениях переменных в предыдущей точке. 1
- Формальная верификация. 2 Два основных популярных подхода к формальной верификации вычислительных систем — дедуктивный анализ и проверка моделей. 2