Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
137
Добавлен:
10.04.2015
Размер:
1.63 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

4.1. Особенности оценки надежности программ

Время эксплуатации программы представляет собой последовательность чередующихся периодов наработки T(i) от момента восстановления до отказа программы и времени восстановленияот момента отказа до момента восстановления, т. е. внесения в программу исправлений.

Аналогичная модель рассматривается при оценке надежности восстанавливаемых изделий, причем все случайные величины T(i) считаются одинаково распределенными (аналогично и). При этом используются математические модели теории восстановления.

Непосредственное применение этих моделей для оценки надежности программ нецелесообразно из-за ряда особенностей случайного процесса их эксплуатации.

Во-первых, периоды наработки между отказами T(i) имеют тенденцию к увеличению с течением времени эксплуатации. Это связано с тем, что по мере выявления и устранения ошибок их общее количество в программе уменьшается, поэтому отказы программ становятся все более редкими.

Процесс совершенствования управляющих программ можно рассматривать как процесс выявления и устранения скрытых дефектов.

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

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

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

Соседние файлы в папке Надёжность информационных систем