Лекция 13




Скачать 73.73 Kb.
НазваниеЛекция 13
Дата публикации15.05.2013
Размер73.73 Kb.
ТипЛекция
vbibl.ru > Информатика > Лекция

Лекция 13


Надежность программного обеспечения (ПО).

План лекции:

  1. Характеристики надежности ПО

  2. Причины и признаки появления отказов ПО

  3. Модели надежности ПО


Характеристики надежности ПО

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

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

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

Отказ программы – это недопустимое отклонение характеристик процесса функционирования программы от требуемых. Определенные условия внешней среды – это совокупность входных данных и состояния вычислительной системы.

Заданный период наблюдения обычно соответствует необходимому числу прогонов программы для решения задачи.

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

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



Рисунок 1

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

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

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

Причины отказов ПО:

  1. Ошибки, скрытые в самой программе.

  1. Искажение входной информации, подлежащей обработке.

  1. Неверные действия пользователя (могут быть связаны с некорректной документацией).

  1. Неисправность аппаратуры, на которой реализуется вычислительный процесс (особенно при программировании).

Рассмотрим некоторые пункты более подробно.

1.Скрытые ошибки программы неизбежны при создании сложных структур ПО. Их проявление происходит при определенном сочетании входных данных. Можно выделить следующие основные классы скрытых ошибок:

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

  2. Логические ошибки. Связаны с изменением алгоритма в случае внесения неверных условий перехода, изменения параметров цикла и т.д.

  3. Ошибки ввода-вывода. Неверное форматирование данных, при котором часть данных может теряться. Часто меняют местами управляющие слова и данные.

  4. Ошибки манипулирования данными. Обычно связаны с неверными именами переменных.

  5. Ошибки совместимости. Отсутствие совместимости с другими программами или операционными системами.

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

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

Последствия и признаки появления ошибок в программе.

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

  1. Полное прекращение выполнения функций на длительное или неопределенное время.

  2. Кратковременное прекращение хода вычислительного процесса.

Симптомы проявления ошибки в программе:

  1. преждевременное окончание программы;

  2. увеличение времени выполнения программы (зацикливание);

  3. потери или искажение накопленных данных;

  4. нарушение порядка вызова отдельных программ.

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

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

Функцию надежности можно определить как вероятность того, что ошибка появится в программе не ранее, чем через время . Обратная величина – функция ненадежности - вероятность того, что ошибка произойдет за время .

Из этих характеристик можно вывести величину интенсивности отказов , которая будет определяться плотностью вероятности возникновения отказа:



Для ПО характерно ступенчатое изменение . Поэтому наиболее простая модель надежности ПО – это дискретная модель:



- постоянная, характеризующая начальное число ошибок;

i(t) – число отказов, устраняемое в момент времени t;

- эмпирический коэффициент, зависящий от характеристик системы.

Эти параметры можно найти на основании последовательности наблюдений интервалов между обнаружением ошибок по методу максимального правдоподобия.

Если i(t) постоянна - получим простую линейную модель.

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

Строится на гипотезе, что устранение ошибки приводит к увеличению времени наработки на отказ на некоторую случайную величину.

Пусть время между отказами изменяется согласно зависимости:

T(i) = T(i-1)+ Δ T(i),

причем все значения T(i) независимы. Тогда для m-го отказа

.

Если принять, что Т(0)≈ΔТ(0) (основанием такого предположения можно считать то, что в начале испытаний ПО отказы возникают часто), то средняя наработка между двумя отказами

,

а среднее время работы до m-го отказа:

,

где - математическое ожидание времени между двумя отказами:
.

Здесь Δti – время между двумя соседними отказами.

Среднеквадратичное отклонение времени между отказами



В данной модели функция надежности определяется в зависмости от числа возникших отказов m.



где Ф(х) – интеграл Лапласа.
Экспоненциальная модель надежности ПО.

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



Получим дифференциальное уравнение



Решением его будет число ошибок m, выявленных за время , которое определяется зависимостью:

m = M(1- exp(-Kτ)),

где К – коэффициент пропорциональности;

М – число ошибок, имевшееся перед фазой тестирования.

Пусть среднее время наработки на отказ.

Если ввести величину - начальное значение средней времени наработки на отказ, то:

,

Получаем, что .

Рассмотренная модель может применяться для определения времени испытания программ с целью достижения заданного уровня надежности.

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

,

где N0=M/B,

В- коэффициент уменьшения ошибок, определяемый как отношение интенсивности уменьшения ошибок к интенсивности отказов.

Марковские модели.

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

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



Вероятность отказа равна . Таким образом можно составить матрицу переходных вероятностей:



Для каждого целого k>0 Рk(i, j) будет определять вероятность перехода из состояния i в состояние j за k шагов. Тогда матрица



Будет определять вероятность перехода и одного состояния в другое за произвольное число шагов.

Вычеркнув из матрицы P две последние строки и два последних столбца, соответствующие успеху С и отказу F, получаем матрицу Q.

Пусть . Положив W = I – Q, имеем:

S = W-1 = (I – Q)-1, откуда надежность программного комплекса:

R = S (1,n ) Rn.

Добавить документ в свой блог или на сайт

Похожие:

Лекция 13 iconЛекция №1. Введение. Элементы дифференциальной геометрии. 2
Лекция №5. Множества Жюлиа, множество Мандельброта и их компьютерное представление. 18

Лекция 13 iconЛекция Судить по совести или по закону? Лекция Судья и конфликты...
«Пси­хология профессиональной коммуникации судьи». В ходе диалога с судьями автор показывает пути ре­шения тех психологических проблем,...

Лекция 13 iconЛекция       для студентов III курса специальностей 060400 «Финансы и кредит»
Вашему вниманию предлагается обзорная (установочная) лекция по курсу " Информационные системы в экономике"

Лекция 13 iconЛекция в Дорнахе 22 мая 1920 года
Канта и протестантизма. Эта лекция вызвала негодование среди членов Лиги, культивировавших и признававших под названием монизма вообще...

Лекция 13 iconОглавление видео Лекций о медицине Болотова Лекция №1 Причины заболевания...
Валентин Дикулин, Ирменов из Украины – специалисты по лечение травмы позвоночника

Лекция 13 iconЛекция профессора Лукасевича И. Я. по дисциплине "Теория инвестиций"
Вашему вниманию предлагается обзорная (установочная) лекция профессора Лукасевича И. Я. по дисциплине "Теория инвестиций" для студентов...

Лекция 13 iconЛекция для слушателей повышения квалификации на кафедре «ат на железных...
Лекция для слушателей повышения квалификации на кафедре «ат на железных дорогах» пгупс, 27. 04. 06 г

Лекция 13 iconОбразовательная программа дня. (Из расчета 1 смена 6000 чел.) Типовое...
Лекция специальная, в рамках программы проекта/ мастер-класс ( 10 групп по 500 чел, 10 лекторов)

Лекция 13 iconЛекция Дееспособность несовершеннолетних. Несовершеннолетние в области...

Лекция 13 iconЛекция : Проверка случайности, независимости, однородности случай произвольного распределения
Лекция : Проверка случайности, независимости, однородности – случай произвольного распределения

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
vbibl.ru
Главная страница