logo

4. Оценка надежности программ цифровых эвм

В современных АСУ, использующих цифровые ЭВМ, очень велико значение не только безотказной работы машин, но и программ, не имеющих скрытых ошибок. В настоящее время существует тенденция к снижению качества программ, увеличению количества ошибок в них.

Современные методы разработки и проверки программ не обеспечивают создания оптимальных программ даже при известных путях их улучшения. В практике программирования разработчику обычно трудно оценить несколько возможных решений, так как проверка программы часто возможна лишь после объединения ее частей, когда изменения в программе связаны со значительными затратами времени и средств. Кроме того, часто используются ранее составленные блоки программ, что также затрудняет оптимизацию данной программы. Не все блоки программируются одинаково тщательно и подробно, часто теряется однородность написания различных блоков. Это обнаруживается обычно слишком поздно.

Понятие ошибка программы можно определить как несоответствие между данной и некоторой “идеальной” программами. Однако, если бы “идеальная” программа существовала, не было бы проблемы. Поэтому, чтобы использовать математический аппарат теории надежности, рассматривают отказы программы–события, состоящие в переходе к неверной работе или остановке программы. После появления отказа программисты исследуют программу с целью поиска (локализации) ошибки и усовершенствования программы.

Сведения об ошибках и их исправлении выдаются на специальных извещениях. Ошибка считается исправленной, если при проведении повторного теста ошибка не обнаружена и выпущено дополнение к извещению о наличии ошибки. Время от выпуска извещения об ошибке до выпуска дополнительного извещения называется циклом отладки.

По сложности программы можно разделить на несколько типов.

Длина стандартных программ для вычисления элементарных функций не превышает сотни команд. Эти программы проверяются очень тщательно, но иногда в них обнаруживаются ошибки, обычно при специфических значениях аргумента. Проводка стандартных программ не представляет затруднений.

Более сложными программами являются трансляторы, которые применяются для преобразования алгоритмов, записанных на языке программирования в последовательность машинных команд. Трансляторы содержат 10000–50000 команд. Полную проверку транслятора обычно не удается осуществить, поэтому в процессе эксплуатации продолжается выявление ошибок.

Наиболее сложными являются программы управления в реальном масштабе времени, реализуемые на вычислительных машинах с мультипроцессором (содержат сотни тысяч команд). Полная проверка таких программ в процессе отладки невозможна. Функционирование программы может быть полностью оценено лишь в процессе применения. Ошибки программ обычно проявляются только при действии определенных входных сигналов, которые в данном случае играют роль условий работы программ.

При рассмотрении множества значений входных сигналов, ошибки программ могут считаться случайными.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4