Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ZI_Shpory.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
180.79 Кб
Скачать
  1. Типы ошибок в по

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

  • Ошибки вычислений.

  • Логические ошибки.

  • Ошибки ввода-вывода.

  • Ошибки манипулирования данными.

  • Ошибки совместимости.

Ошибки классифицируются по тяжести последствий и возможности их устранения или парирования:

  1. Незначительные ошибки. Эти ошибки проявляются явно или легко обнаруживаются.

  2. Средние ошибки (ошибки средней тяжести).

  3. Существенные ошибки – ошибки, не устранимые без приостановки функционирования ПС.

  1. Надежность по и язык программирования

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

  1. Математическая модель распределения ошибок в программах

где n0 – число первичных ошибок, dn/dt – интенсивность обнаружения ошибок при отладке, K – некоторый коэффициент (характеризует изменение скорости появления искажений).

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

.

При t = 0 решение этого уравнения имеет вид:

.

Число оставшихся в комплексе ПО ошибок:

.

Математические модели предназначены для приближенной оценки:

  • Потенциально возможной надежности функционирования ПС в процессе испытания и эксплуатации.

  • Числа ошибок, оставшихся не выявленными в анализируемых программах.

  • Времени тестирования, требующегося для обнаружения ошибки в функционирующей программе.

  • Времени, необходимого для выявления всех имеющихся ошибок с заданной вероятностью.

  1. Простая интуитивная модель надежности по

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

Пусть N ­– множество всех ошибок; N1 – множество ошибок, выявленное первой группой; N2 – множество ошибок, выявленное второй группой; N12 – пересечение множеств N1 и N2.

Эффективность обнаружения ошибок каждой из групп E1=N1/N, E2=N2/N.

Интуитивное предположение: E1 = N1/N = N12/N2 =>

N = N12 / (E1E2).

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

В среднем считается, что в ПО одна ошибка на 100 операций.

Пример. N1 = 20, N2 = 30, N12 = 8. E1 = N12/N2, E2 = N12/N1, E1 = N12/N2 => N = 74.

  1. Функция риска в теории надежности по

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

Пусть P(t) – вероятность того, что ни одной ошибки не будет обнаружено на временном интервале [0,t]. Тогда вероятность хотя бы одного отказа за этот период будет Q(t) = 1 – P(t), и плотность вероятности можно записать как

Рассмотрим функцию риска R(t) как условную плотность вероятности отказа программы в момент времени t, при условии, что до этого момента отказов не было

Функция риска имеет размерность [1/время] и она очень полезна при классификации основных распределений отказов. Распределения с возрастающей функцией риска соответствуют тем ситуациям, когда статистические характеристики надежности ухудшаются со временем. И наоборот, распределения с убывающей функцией риска соответствуют обратной ситуации, когда надежность улучшается со временем в результате процесса обнаружения и коррекции ошибок.

Из последнего выражения ясно, что , и, следовательно,

, или

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]