Главная страница  Анализ эмпирических данных 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [ 67 ] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

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

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

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

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

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



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

Рассмотрим некоторые модели надежности программного обеспечения, описание которых можно найти в опубликованных работах или закрытых отчетах, а также новые данные, полученные фирмой TRW (разд. 5.5).

5.2. Анализ моделей

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

5.2.1. Модель Шумана [Щ

Целесообразность применения этой модели для оценки надежности программного обеспечения зависит от принятых допущений и условий, наиболее существенным из которых является условие существования программы исследователя системы (кстати, это условие недостаточно полно определено в работе [17]). Остальные допущения и условия носят статический характер и не связаны с какими-либо специфическими свойствами программного обеспечения. По существу они сводятся к следующему. А1. Предполагается, что в начальный момент компоновки программных средств в систему программного обеспечеция в них имеется Ет ошибок. С этого момен-



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

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

ег (т) = 1--еЛт).

где \т - общее число машинных команд, которое предполагается постоянным.

А2. Предполагается, что значение функции частоты отказов z{t) пропорционально числу ошибок, оставшихся в программном обеспечении после израсходования на отладку времени т, т. е. г(/) = СЕг(т). Тогда, если число часов работы системы t отсчитывается от точки < = О, а т остается фиксированным, то функция надежности, или вероятность безотказной работы на интервале времени (О, /), равна

R (/, т) = ехр {- С [ЕгИт - (т)] /}.

Если в ходе отладки прогоняются k тестов в интервалах (О, т), (О.тг), (0,Tft), где ti < Тг < ... < т, то можно показать, что при k2 для определения оценок максимального правдоподобия С и Ej- двух параметров С и Ег пригодны следующие уравнения:

C=S S[Ey/I,-e,(t;)] ;, Е ,/[Ё7-/1т-Ес{т;)]}/1:Я/,

где / - число прогонов /-го теста, оканчивающихся отказом; Я/ - время, затраченное на выполнение уС-лешных и безуспешных прогонов /-го теста.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [ 67 ] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

© 2000 - 2018 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.