1
Лабораторная работа Модели
надежности программного обеспечения
Цель работы : ознакомиться с динамическими
и статическими методами оценки
надежности ПО
Методические указания
1. Модель Шумана основана на следующих
допущениях:
-
общее число команд в программе на
машинном языке постоянно; -
в начале компоновочных испытаний число
ошибок равно некоторой постоянной
величине, и по мере исправления ошибок
их становится меньше. В ходе испытаний
программы новые ошибки не вносятся; -
ошибки изначально различимы, по
суммарному числу исправленных ошибок
можно судить об оставшихся; -
интенсивность отказов программы
пропорциональна числу остаточных
ошибок.
Предполагается, что до
начала тестирования (т.е. в момент =0)
имеется M
ошибок. В течение времени тестирования
τ обнаруживается ε1()
ошибок
в расчете на одну команду в машинном
языке.
Тогда удельное число ошибок
на одну машинную команду, оставшихся в
системе после времени тестирования τ,
равно:

(1)
где I — общее число машинных
команд, которое предполагается постоянным
в рамках этапа тестирования.
Предполагается, что значение
функции количества ошибок Z(t) пропорционально
числу ошибок, оставшихся в программе
после израсходованного на тестирование
времени τ.
Z (t) = C * ε2
(τ),
где С — некоторая постоянная,
t — время работы программы без отказов.
Тогда, если время работы
программы без отказа t отсчитывается
от точки t = 0, а τ остается фиксированным,
функция надежности, или вероятность
безотказной работы на интервале от 0 до
t, равна

(2)

(3)
Необходимо найти начальное
значение ошибок M
и коэффициент пропорциональности С.
Эти неизвестные оцениваются путем
пропуска функционального теста в двух
точках переменной оси отладки a
и b,
выбранных так, что ε1(a)<ε1(b).
В процессе тестирования
собирается информация о времени и
количестве ошибок на каждом прогоне,
т.е. общее время тестирования τ складывается
из времени каждого прогона:
τ = τ1 +
τ2 +
τ3 +
… + τn.
Предполагая, что интенсивность
появления ошибок постоянна и равна λ,
можно вычислить ее как число ошибок в
единицу времени,

(4)
где Ai —
количество ошибок на i — ом прогоне.
Тогда

. (5)
Имея данные для двух различных
моментов тестирования a
и в,
можно сопоставить уравнения (3) при τa
и τb:

(6)

(7)
Из соотношений (6) и (7) найдем
неизвестный параметр С и М:

(8)

(9)
Получив неизвестные M*
и C*,
можно рассчитать надежность программы
по формуле (2).
Пример 1.
Программа содержит 2 000 командных
строк, из них, до начала эксплуатации
(после периода отладки), 15 командных
строк содержат ошибки. После
20 дней
работы обнаружена 1 ошибка. Найти среднее
время безошибочной работы программы и
интенсивность отказов программы при
коэффициенте пропорциональности, равном
0,7.
|
I |
2000 |
|
M |
15 |
|
t |
20 |
|
x |
1 |
|
C= |
0,7 |
|
Выполнение задания 1(t)=? |
|||
|
2(t)=? |
|||
|
P(t)=? |
|||
|
tср=? |
|||
|
λ=? |
На условиях примера 1 определить
вероятность безошибочной работы
программы P(t)
в течение 90 суток.
|
I= |
2000 |
||
|
M= |
15 |
||
|
t= |
90 |
||
|
x= |
1 |
||
|
C= |
0,7 |
||
|
Пример 3.
Определить первоначальное количество
возможных ошибок в программе, содержащей
2 000 командных строк, если в течение
первых 60 суток эксплуатации было
обнаружено 2 ошибки, а за последующие
40 суток была обнаружена одна ошибка.
Определить T0
– среднее время безошибочной работы,
соответствующее первому и второму
периоду эксплуатации программы и
коэффициент пропорциональности.
|
I= |
2000 |
||||
|
t1= |
60 |
суток |
|||
|
t2= |
100 |
суток |
|||
|
x1= |
2 |
ош. |
|||
|
x2= |
3 |
ош. |
|||
|
T0= |
? |
||||
|
Интенсивности |
отказов: |
||||
|
λ2= |
|||||
|
C= |
|||||
|
ε1 |
|||||
|
ε2 |
|||||
|
M= |
|||||
|
2/1= |
2. Модель Миллса. Пусть в процессе тестирования обнаружено n исходных ошибок и V из s рассеянных ошибок. Тогда оценка n — первоначальное число ошибок в программе — составит

.
Вторая часть модели связана с проверкой
гипотезы выражения и тестирования N.
Рассмотрим случай, когда
программа содержит К
собственных ошибок и S рассеянных
ошибок. Будем тестировать программу до
тех пор, пока не обнаружим все рассеянные
ошибки. В то же время количество
обнаруженных исходных ошибок накапливается
и запоминается. Далее вычисляется оценка
надежности модели:

(11)
как вероятность того, что
в программе содержится K
ошибок.
Величина С является мерой
доверия к модели и показывает вероятность
того, насколько правильно найдено
значение N. Эти два связанных между собой
по смыслу соотношения образуют полезную
модель ошибок: первое предсказывает
возможное число первоначально имевшихся
в программе ошибок, а второе используется
для установления доверительного уровня
прогноза.
Формула для расчета С в
случае, когда обнаружены не все
искусственно рассеянные ошибки,
модифицирована таким образом, что оценка
может быть выполнена после обнаружения
v
(vS)
рассеянных ошибок:

(12)
где числитель и знаменатель
формулы при n
К являются
биноминальными коэффициентами.
Пример 4.
Предположим, что в программе имеется 3
собственных ошибки. Внесём ещё 6 ошибок
случайным образом.
В процессе тестирования было найдено:
1) 6 ошибок из рассеянных и 2 собственных;
2) 5 ошибок из рассеянных и 2 собственных;
3) 5 ошибок из рассеянных и 4 собственных.
Найти надёжность по модели
Миллса
3. Простая интуитивная
модель. Использование этой модели
предполагает проведение тестирования
двумя группами программистов (или двумя
программистами в зависимости от величины
программы) независимо друг от друга,
использующими независимые тестовые
наборы. В процессе тестирования каждая
из групп фиксируют все найденные ею
ошибки.
Пусть первая группа обнаружила n1
ошибок, вторая n2 , n12 — это
число ошибок, обнаруженных как первой,
так и второй группой.
Обозначим через N неизвестное количество
ошибок, присутствующих в программе до
начала тестирования. Тогда можно
эффективность тестирования каждой из
групп определить как
.
Эффективность тестирования можно
интерпретировать как вероятность того,
что ошибка будет обнаружена. Таким
образом, можно считать, что первая группа
обнаруживает ошибку в программе с
вероятностью

,
вторая — с вероятностью
![]()
.
Тогда вероятность p12 того, что
ошибка будет обнаружена обеими группами,
можно принять равной
![]()
.
С другой стороны, так как группы действуют
независимо друг от друга, то р12 =
р1р2. Получаем:

Отсюда получаем оценку первоначального
числа ошибок программы:

.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Содержание:
Ошибки измерения: Опыт убеждает, что измерения объектов не могут быть произведены абсолютно точно и каждое конкретное измерение дает лишь, как правило, приближенное значение величины явления, истинное значение которой (A) нам неизвестно. Ошибки измерения (
Рассмотрим такие измерения, которые производятся одним наблюдателем, одним и тем же инструментом, в одинаковых условиях, т. е. равноточные измерения.
Различают два вида ошибок измерения:
- систематические ошибки, т. е. такие, которые при данных условиях проведения измерения имеют вполне определенное значение (например, ошибка измерительного прибора);
- случайные — такие, которые являются результатом взаимодействия большого числа незначительных в отдельности факторов и имеют в каждом отдельном случае различные значения.
Задача математической статистики — предусмотреть возможность возникновения систематических ошибок и добиться их ликвидации или сведения к минимуму.
Случайные ошибки измерения обладают рядом свойств: при большом числе измерений крупные ошибки встречаются реже мелких и число положительных ошибок примерно равно числу отрицательных, вследствие чего сумма всех ошибок близка к нулю.
Если ошибки получаются весьма малыми по сравнению с величиной явления, то ими просто пренебрегают или считаются с наибольшей возможной ошибкой, чтобы обезопасить себя от влияния случайной неточности.
В теории ошибок изучаются те ошибки, которые, являясь, с одной стороны, ошибками случайного характера, по своему абсолютному значению настолько велики, что ими пренебречь нельзя, а с другой стороны, для них существует закон, позволяющий установить зависимость между величиной ошибки и вероятностью ее появления. Закон случайных ошибок, полученный Гауссом, состоит в том, что случайные ошибки подчиняются закону нормального распределения.
Средняя ошибка сводного результата измерения
Принимая за действительное значение измеряемой величины при равноточном измерении среднюю арифметическую из всех результатов n измерений, можно охарактеризовать точность одного измерения с помощью средней арифметической из абсолютных величин значений ошибок:

где n — число измерений, х — численное значение отдельных измерений,
— средняя арифметическая из результатов измерений.
За меру точности соответствия принятой средней арифметической
истинному значению измеряемой величины (A) принимают среднюю ошибку сводного результата измерения, вычисляемую по формуле:

Пример 1. Произведено 10-кратное измерение размера детали (в мм), давшее следующие, расположенные в возрастающем порядке результаты: 138; 139; 140; 141; 141; 142; 142; 143; 144; 145.
Охарактеризуем сначала точность одного измерения, т. е. вычислим среднюю арифметическую из абсолютных значений ошибок. Для этой цели вычислим среднюю арифметическую из результатов измерений:

Найдем ошибки измерения:

Следовательно:

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

Значит, мерой точности соответствия 141,5 мм истинной величине размера детали является средняя ошибка, равная 0,54 мм.
Средняя квадратическая ошибка
Если в качестве меры точности одного измерения принять не среднюю арифметическую из абсолютных значений ошибок (средняя ошибка), а среднюю квадратическую из ошибок измерений, т. е.

то средняя квадратическая ошибка найденной средней арифметической из ошибок измерения вычисляется по формуле:

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

Затем исчисляем среднюю квадратическую ошибку найденной средней арифметической, равной 141,5 мм:

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

Вероятная ошибка
За меру точности одного измерения иногда принимают вероятную ошибку:

Тогда в качестве вероятной ошибки сводного результата измерения используют соотношение:

Пример 3. Используя данные предыдущих примеров, находим вероятную ошибку сводного результата измерения:

Наиболее вероятные границы сводных результатов измерения
Математическое ожидание случайной ошибки равно нулю. В качестве значения измеряемой величины применяется средняя арифметическая всех измерений (если они равноточны). Использование отклонений результатов измерений (х) от средней из них
называемых в теории ошибок «кажущимися ошибками»
позволяет произвести оценку точности соответствия средней арифметической неизвестному истинному значению измеряемой величины (A).
Для этой цели используют удвоенную или утроенную среднюю квадратическую ошибку сводного результата измерения или его вероятную ошибку и получают:

Найденные границы неизвестной истинной величины в случае, если ошибки подчинены нормальному закону распределения Гаусса (чаще всего так и бывает), соблюдаются с большой вероятностью (0,997 и 0,954).
Пример 4. По данным предыдущих примеров находим границы истинного значения размера детали 
Значит, истинное значение размера детали находится в границах от 141,5—2,04 до 141,5+2,04.
- Методы математической статистики
- Комбинаторика — правила, формулы и примеры
- Классическое определение вероятности
- Геометрические вероятности
- Законы распределения случайных величин
- Дисперсионный анализ
- Математическая обработка динамических рядов
- Корреляция — определение и вычисление
В статистике есть целый набор показателей, которые характеризуют центральную тенденцию. Выбор того или иного индикатора в основном зависит от характера данных, целей расчетов и его свойств.
Что подразумевается под характером данных? Прежде всего, мы говорим о количественных данных, которые выражены в числах. Но набор числовых данных может иметь разное распределение. Под распределением понимаются частоты отдельных значений. К примеру, в классе из 23 человек 2 школьника написали контрольную работу на двойку, 5 – на тройку, 10 – на четверку и 6 – на пятерку. Это и есть распределение оценок. Распределение очень наглядно можно представить с помощью специальной диаграммы – гистограммы. Для данного примера получится следующая гистограмма.

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

Итак, центральная тенденция. Если частоты анализируемых значений распределены по нормальному закону, то есть симметрично вокруг некоторого центра, то центральная тенденция определяется вполне однозначно – это есть тот самый центр, и математически он соответствует средней арифметической.
Как нетрудно заметить, в этом же центре находится и максимальная частота значений. То есть при нормальном распределении центральная тенденция есть не только средняя арифметическая, но и максимальная частота, которая в статистике называется модой или модальным значением.

На диаграмме оба значения центральной тенденции совпадают и равны 10.
Но такое распределение встречается далеко не всегда, а при малом числе данных – совсем редко. Чаще бывает так, что частоты распределяются асимметрично. Тогда мода и среднее арифметическое не будут совпадать.

На рисунке выше среднее арифметическое по-прежнему составляет 10, а вот мода уже равна 9. Что в таком случае считать значением центральной тенденции? Ответ зависит от поставленных целей анализа. Если интересует уровень, сумма отклонений от которого равна нулю со всеми вытекающим отсюда свойствами и последствиями, то это средняя арифметическая. Если нужно максимально частое значение, то это мода.
Итак, зачем нужна мода? Приведу пару примеров. Экономист планово-экономического отдела обувной фабрики интересуется, какой размер обуви пользуется наибольшим спросом. Средний размер обуви, скорее всего, здесь не подойдет, тем более, что число может получится дробным. А вот мода – как раз нужный показатель.
Расчет моды
Теперь посмотрим, как рассчитать моду. Мода – это то значение в анализируемой совокупности данных, которое встречается чаще других, поэтому нужно посмотреть на частоты значений и отыскать максимальное из них. Например, в наборе данных 3, 4, 6, 7, 3, 5, 3, 4 модой будет значение 3 – повторяется чаще остальных. Это в дискретном ряду, и здесь все просто. Если данных много, то моду легче всего найти с помощью соответствующей гистограммы. Бывает так, что совокупность данных имеет бимодальное распределение.

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

Для наглядности изобразим соответствующую диаграмму.

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

На рисунке отчетливо видно, что соотношение высоты столбцов, расположенных слева и справа от модального определяет близость моды к левому или правому краю модального интервала. Задача по расчету модального значения состоит в том, чтобы найти точку пересечения линий, соединяющих модальный столбец с соседними (как показано на рисунке пунктирными линиями) и нахождении соответствующего значения признака (в нашем примере цены). Зная основы геометрии (7-й класс), по данному рисунку нетрудно вывести формулу расчета моды в интервальном ряду.
Формула моды имеет следующий вид.
![]()
Где Мо – мода,
x0 – значение начала модального интервала,
h – размер модального интервала,
fМо – частота модального интервала,
fМо-1 – частота интервала, находящего перед модальным,
fМо1 – частота интервала, находящего после модального.
Второе слагаемое формулы моды соответствует длине красной линии на рисунке выше.
Рассчитаем моду для нашего примера.
![]()
Таким образом, мода интервального ряда представляет собой сумму, состоящую из значения начального уровня модального интервала и отрезка, который определяется соотношением частот ближайших интервалов от модального.
Расчет моды в Excel
В настоящее время большинство вычислений делается в MS Excel, где для расчета моды также предусмотрена специальная функция. В Excel 2013 я таких нашел ажно 3 штуки.

МОДА – пережиток старых изданий Excel. Функция оставлена для совмещения со старыми версиями.
МОДА.ОДН – рассчитывает моду по заданным значениям. Здесь все просто. Вставили функцию, указали диапазон данных и «Ок».
МОДА.НСК – позволяет рассчитать сразу несколько модальных значений (одинаковых максимальных частот) для одного ряда данных, если они есть. Функцию нужно вводить как формулу массива, перед этим выделив количество ячеек равное количеству требуемых модальных значений. Иногда действительно модальных значений может быть несколько. Однако для этих целей предварительно лучше посмотреть на диаграмму распределения.
Моду для интервальных данных одной функцией в Excel рассчитать нельзя. То есть такая функция в готовом виде не предусмотрена. Придется прописывать вручную.
Следующая статья посвящена медиане.
До встречи на statanaliz.info.
Поделиться в социальных сетях: