Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Методы оценки и измерения характеристик надежности программ





 

Внутренняя характеристика – число оставшихся ошибок – абсолютное или относительное. Считается, что в хорошо отлаженной программе - не более одной ошибки на 1 тысячу строк исходного кода. Для ответственных применений требуется то же на 10 тыс. строк и больше. Например, для СОИ этот показатель был задан как не более 2,5 ошибок на 105 операторов языка Ада.

 

Как проверить соответствие ПП таким требованиям?

Метод Миллса (IBM, 1972) использует прием биологов - метод «меченых рыб». Группа тестирования засоряет программу искусственно ошибками и, продолжая тестирование, анализирует долю внесенных ошибок среди обнаруженных.

1) Пусть внесено s ошибок, обнаружено n собственных и v внесенных ошибок. Предполагая, что вероятность обнаружения внесенных и собственных ошибок одинакова, получим первоначальное количество оставшихся ошибок N = s * n / v

2) Проверка гипотезы: осталось < k собственных ошибок. Вносится еще s ошибок и тестирование продолжается, пока все они не обнаружены. Пусть к этому моменту найдено n собственных. Тогда уровень значимости гипотезы (т.е., вероятность того, что она истинна), = 1 при n > k и s / (s + k +1) при n £ k.

 

В методе Руднера (1977) тестирование осуществляется двумя независимыми группами тестеров параллельно, которые обнаруживают m1 и m2 ошибок соответственно, из которых m1,2 ошибок - общие. Используя гипергеометрическое распределение, по методу максимального правдоподобия может быть найдена оценка числа первоначально содержавшихся в программе ошибок N = m1 * m2 / m1,2 .

 

Фирма Моторола использует в качестве меры надежности своих ПП (управляющих программ реального времени) среднее число ошибок на 1000 строк исходного кода. Она разработала метод оценки времени тестирования без отказов (zero-failure method), подтверждающего заданную надежность. Метод основан на некоторой, принятой фирмой Моторола, зависимости T = f (N, n, t), где:

T – время окончательного тестирования – испытаний без отказов

N – допустимое число ошибок в коде

n – общее число ошибок, обнаруженных в ходе тестирования

t – время, потраченное на выявление всех n ошибок

Если за время T ни одного отказа не произошло, считается, что в программе не более N ошибок и тестирование можно закончить. Если же отказ произошел через промежуток времени tr < T, то испытание продолжается, причем функция T пересчитывается заново для n+1 и t+ tr.

 

Как получена функция Т? – из одной из моделей надежности программ на основе оценок функции l (t) – внешней характеристики надежности. Эти оценки обычно экстраполируют динамику отладки, отраженную в базе данных отчетов об ошибках. Например, модель Джелинского – Моранды (1972), использовавшаяся в ряде ответственных проектов, в том числе Apollo NASA (пилотируемый полет на Луну). Она основана на следующих допущениях:

1. Интенсивность обнаружения ошибок R(t) пропорциональна текущему числу ошибок в программе, т.е. числу исходных ошибок минус обнаруженные.(Вопрос 9).

2. Все ошибки равновероятны и их проявление не зависит друг от друга.

3. Ошибки постоянно исправляются без внесения новых.

4. R(t) постоянна в промежутке между двумя смежными моментами обнаружения t i и t i+1.

 

Тогда R(t) – ступенчатая монотонно убывающая функция вида:

 
 


R(t)

 
 

 


t

t0 t1 t2 t3 t4 t5

 

5. Предполагается, что динамика проявления ошибок во время эксплуатации остается такой же, как при тестировании, т.е. постулируется тождество функций R(t) и l (t) с тем отличием, что значение l (t) "замораживается" в момент завершения тестирования - прекращается исправление ошибок.

поскольку dN(t) / dt = R(t) (число ошибок, обнаруженных в единицу времени), получаем дифференциальное уравнение с нач. условиями:
 
 

Если N – число ошибок, обнаруженных к моменту времени t, то до следующего обнаружения справедливо R(t) = K * (B – N), где В – неизвестное число исходных ошибок, K – неизвестный коэффициент пропорциональности. Полагая X i = t i+1 - t i (i = 0,..., n-1), можно утверждать, что X i имеют экспоненциальное распределение: P (X i) = exp (- K * (B - i) * X i). Имея набор Xi из базы данных ошибок, можно решать задачу нахождения значений K и B, отвечающих принципу максимального правдоподобия. Несколько проще решение для модифицированной модели, где снято допущение 4, и функция R(t) перестает быть кусочно-постоянной: R(t) = K (B - N (t)). Дифференцируя:

 
 

Его решение: R(t) = KB e - K t. Обозначая a = ln (KB), b = - K, получаем запись решения в виде: R (t) = exp (a + bt). Логарифмируя обе части этого равенства и переходя к дискретному времени ti,,получим систему из n уравнений:

 

ln R(ti) = a + bti; i = 1,...,n

Решая эту систему относительно двух неизвестных a и b методом наименьших квадратов, можно найти оценки величин K и B в соответствии с критерием максимального правдоподобия. Этот метод был применен для ряда конкретных проектов IBM и показал хорошее соответствие реальности.

Date: 2016-05-25; view: 456; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию