I НЕМОНОТОННЫЕ МОДЕЛИ ОЦЕНКИ НАДЕЖНОСТИ И БЕЗОПАСНОСТИ ФУНКЦИОНИРОВАНИЯ ПРОГРАММНЫХ СРЕДСТВ НА РАННИХ ЭТАПАХ ИСПЫТАНИЙ
Марков Алексей Сергеевич, кандидат технических наук, старший научный сотрудник, CISSP
Рассмотрены вопросы использования моделей роста надежности в рамках испытаний модифицируемых систем. Обоснованы немонотонные модели оценки надежности программ по результатам обновлений и исправлений. Получены оригинальные расчетные выражения параметров немонотонных моделей оценки надежности, оценки точности и планирования испытаний. Отмечено преимущество немонотонных моделей оценки надежности для программ с открытым кодом и для многоверсионного программного обеспечения.
Ключевые слова: надежность программ, технологическая безопасность программ, испытания программ, модели отладки, модели роста надежности, модели оценки надежности, немонотонные модели.
NONMONOTONE MODELS OF RELIABILITY AND SECURITY OF SOFTWARE IN THE EARLY STAGES OF TESTING
Alexey Markov, Ph.D., Associate Professor, CISSP
The use of reliability growth models of the modified systems in the testing phase is examined. The non-monotonic software reliability models on results updates and patches are substantiated. The original expressions of parameters of non-monotonic reliability assessment models, estimates of accuracy and test planning are obtained. The advantages of the non-monotonic reliability growth models for open source software and multi-version software are noted.
Keywords: software reliability, software security, software testing, debugging model, reliability growth models, software reliability models, non-monotonic model.
Введение
На этапах предварительных испытаний и опытной эксплуатации информационных систем важным пунктом является определение момента, когда испытания могут считаться завершёнными1. Что касается программных средств (ПС) высокого уровня доверия (например, предназначенных для обработки и защиты гостайны), то современные нормативные документы определяют необходимость формализации результатов испытаний2. В таких случаях, к критериям завершения испытаний (которые фиксируются в протоколах испытаний), кроме собственно факта подтверждения вы-
1 ГОСТ 34.603-92.
2 ГОСТ ИСО/МЭК 15408-3-2013.
полнения заданных требований, также добавляют значения показателей полноты тестирования и показателей достигнутой степени надежности или корректности с учетом заданной точности оценки.
Для этих целей можно использовать математические модели [1, 3-5, 7-20], которые целесообразно разделить на четыре класса, а именно:
- отладочные модели, позволяющие оценить показатели надежности ПС в зависимости от результатов запусков программ на заданных областях данных и последующих модификаций программ;
- временные модели роста надежности, позволяющие оценить показатели надежности программ в зависимости от времени испытаний с учетом исправлений ошибок программ;
- модели полноты тестирования, позволяющие получить оценки показателей доверия к процессу испытаний;
- модели сложности программ, основанные на связи метрик сложности ПС с показателями качества, надежности и безопасности программ.
На ранних этапах испытаний, в связи с интенсивной модификацией систем с целью исправления выявляемых ошибок, наиболее адекватными считаются отладочные модели, также называемые моделями роста надежности, основанными на областях входных данных и доработках [17-20]. Известные в литературе модели отражают монотонный рост надёжности функционирования ПС, что не всегда соответствует действительности, например, для случая внедрения программного обеспечения с открытым кодом, многоверсионных или многотиражируемых ПС, когда в процессе их создания в разное время задействованы совершенно различные группы программистов и т.д. Обоснованию немонотонных моделей и получению расчетных выражений их параметров посвящена данная статья.
Надежность программного обеспечения
Под надежностью программ обычно понимают совокупность свойств, характеризующих способность программы сохранять заданный уровень пригодности в заданных условиях в течение заданного интервала времени3. Если в качестве ограничения уровня пригодности рассматривать дефекты безопасности и уязвимости, то понятие надежности эквивалентно понятию технологической безопасности.
Напомним, что определение надежности ПС имеет принципиальное отличие от надежности аппаратных средств, что проявляется, главным образом, в отсутствии эффекта старения ПС во времени. Можно отметить два свойства надежности ПС:
1. Надежность как свойство может изменяться лишь при модификации ПС (т.е. при изменении объекта испытаний), причем степень надежности может как увеличиваться, так и уменьшаться;
2. Значения показателей надежности ПС действительны при тех классах исходных данных, при которых они рассчитывались.
Как отмечалось, в литературе предлагается ряд отладочных моделей, как-то: модель Нельсона [11] и ее модификации [14], модель Пальчуна [9], модель Lapadula [19] и другие [4, 15, 18, 20], которые отражают ступенчатый монотонный рост надежности, т.е. не учитывают возможность явно-
3 ГОСТ 28806-90.
го снижения степени надежности, например, в результате внесения волновых глобальных ошибок или добавления новых функциональных возможностей. Опыт показал, что применение таких математических моделей приводит либо к получению недостоверных результатов, либо существенно увеличивает длительность процесса оценивания надежности ПС. Поэтому требуется обосновать немонотонную модель надежности ПС, получить расчетные выражения ее параметров, в том числе для оценки ее точности.
Обоснование модели немонотонного роста надежности
Согласно указанному ранее первому свойству надежности ПС, процесс модификации ПС можно условно представить в виде случайного процесса переходов из одного надежностного состояния в другое. Моментами переходов являются модификации объекта испытаний, представляющие собой любые изменения программы с целью исправления обнаруженных ошибок либо развития программы. Определим основной показатель надежности ПС, как степень надежности программы, под которой будем понимать вероятность безошибочного запуска ее на наборе исходных данных из диапазона, определенного спецификациями. С учетом сказанного, имеем следующую модель изменения надежности ПС:
Ри = Ро + ,
где: Р0 - начальная степень надежности, 0 < Р0 < 1, и - число проведенных доработок ПС, А Р] - приращение степени надежности после /-ой доработки.
Графически процесс изменения надежности ПС представляется ступенчатой функцией роста надежности (рис.1).
Рассматривая ПС как модифицируемую систему, изменение степени надежности ПС после/-ой доработки можно представить следующим линейным оператором [2]:
АР) = А>{1 - Р1_1) - В,Р;-ь
где: - вероятность безошибочной работы
ПС после (¡-1)-ой доработки; (1 — ^-1) - вероятность обнаружения ошибок ПС после (-1)-ой доработки; А/ - коэффициент «эффективности» доработки, характеризующий уменьшение вероятности ошибки за счет/-ой доработки; В/ - коэффициент «негативности» доработки, характеризующий снижение степени надежности за счет ]-ой доработки.
0 1 2 3 4 5 ... ...L-1 L Прогоны
Рис.1. Изменение степени надежности по результатам доработок
триваемого процесса [7]. Таким образом, полагая Лу = , можно получить основное расчет-
ное выражение бигеминальной модели оценки надежности:
Ри=Роэ-(Роэ-Р0)Щ=1 (1 - Е?=1 щку /Роо), (2)
где: и - число проведенных доработок, а1- коэффициент эффективности доработки ПС с целью исправления ошибки, а2 - коэффициент эффективности доработки ПС с целью добавления функциональных возможностей, ку - объему-ой модификации с целью исправления или обновления.
Бигеминальная модель (2) зависит от 4-х параметров (Р0, Рю, 0-1, %), расчет которых не представляет труда, например, с помощью метода максимального правдоподобия [8].
Введя классификацию различного рода доработок, в том числе исправляемых ошибок, можно получить обобщенную немонотонную модель оценки надежности:
Ри=Р™-(Р<»-РоЩ=1 (1 - ЕГ=1 аькц /Роо), (3)
где: е - число классов модификаций ПС.
Данная модель зависит от (е+2) параметров. Приведем пример расчета параметров модели.
Пример расчета параметров модели
Для расчета параметров обобщенной модели
(3) можно воспользоваться методом максимального правдоподобия. В качестве исходной статистики можно использовать данные, фиксируемые при испытаниях ПС, а именно: множество испытаний {пу}, множество неудачных испытаний (отказов) [т^] между доработками, а также множество метрик сложности доработок [к^. Тогда при до-
Перейдя к рекуррентному выражению и считая предельную степень надежности равной
Рт = —можно получить модель оценки на-А}+в} дежности ПС:
Ри=РаО-(РаО'-Р0)Щ=1 (1 - ^/Л»), (1)
где: Р0 - начальная степень надежности, Рот - предельная степень надежности, 0 < Р0 < Рт < 1, и - число проведенных доработок.
Полученное выражение (1) учитывает возможность неравномерного роста степени надежности объекта испытаний и общую тенденцию к снижению роста АРу при повышении степени надежности Ру [2]. Однако в таком представлении модель имеет в целом монотонный вид, так как не учитывается различное влияние принципиально разного рода модификаций, например, изменения ПС с целью исправления ошибок и изменения, связанные с добавлением новых функциональных элементов. Также модель не отражает уровень сложности доработки, а значит возможность внесения волновых ошибок. Иначе говоря, в таком виде модель сводится к классу монотонных моделей роста надежности.
Для исключения данного недостатка предлагается бигеминальная модель оценки надежности, в основе которой лежит использование метрик сложности модификации кода ку , например, при исправлении ошибок и при обновлении ПС. На указанную метрику не накладывают ограничения (т.е. метрика сложности может быть любая, наиболее адекватная программной системе и системе программирова-ния4), что обеспечивает полноту описания рассма-
4 IEEE Std. 1061-1998.
пущениях о независимости запусков ПС функция максимального правдоподобия представляет собой вероятность получения общей выборки (П;, ту,у = 1 ,и) числа отказов в проведенных сериях запусков ПС:
Lu = (1 -Р,) ^,
где: сТЛ7. = ■ _
"*7 ГП_у!(Пу-ГП_у)
и - номер последней
доработки ПС; Pj - вероятность успешного исхода каждого из nj запусков j-ой серии; щ - число отказов в nj запусках.
Для удобства можно прологарифмировать и преобразовать функцию Lu к следующему виду:
ln(Lj = £“=1 [mj ln (l -Ры + (Pm - P0) ПJl=1 (1 - Е£=1^)) + (n;- -Щ~) ln (рт + (pm - p0)
П{=! (1-1U-g1)) )•
Полученная приведенная функция является выпуклой и задана на выпуклом множестве. Поэтому, для нахождения максимума функции правдоподобия можно, например, использовать модифицированный метод наискорейшего спуска с переменным параметром шага hr:
ДГ+1 = pr + hr
}Г+1 — nr
Р£ + hr
'д lnL(P0r,Р£,а[, ...,аге)\
ч дРо )
fd ln£(Pg+1, Р£, g[,Qe) „ 3Pm
r+1 (d lnL(P0r+1, P£+1, oi........are)
ai = ai + ^
,r+l
3% у
d lnL(P0r+1,P£+1,) da„
где г - номер итерации.
Нетрудно показать, что расчетные выражения частных производных приведенной функции максимального правдоподобия имеют следующий вид:
г dlnLj х—'7
Щ аг;
а1^1 -аЛ + 1
«г Ун.
p-Sj. = Ш.Д1
где W,
—
у7 Xi=i aikLl = уу ____________
^i=1 l-2f=i aiku/Poo’ ^1=1l-£f=1 аькц
— X'J
кц/Р&>
Для определения оценок Po , Р<», al, ..., ae, как показала практика, достаточна следующая точность:
■ пг+1
го
Р0Г < 0.001;
РГ1 - Р£ < 0.001;
r+1 - a[ < 0.0001.
i а
Повышенная точность определения параметров (/ = 1, е) связана с их сильным влиянием на функцию Pj оценки надежности.
Нулевые приближения можно найти методом статистического моделирования на логически рассчитанных интервалах:
М,
0 < Р0 < 1 -(тт1
м,
N,
1
N0 <Рт< 1
Kte
1 -
\MmN0 \NmMn
< а, <
К]
где: Mo - число отказов в первых N0 запусках; М^ - число отказов в последних запусках; Kimax - максимальное значение куу при
7=1«); ^ = И=1 % •
Таким образом, полагая, что Р0, Р», %, •••, ,
случайные величины, равномерно распределенные на указанных ранее интервалах, необходимо проделать определенное число проб и выбрать совокупность параметров, соответствующих максимальной функции правдоподобия. Эта совокупность принимается за искомые начальные значения.
Опыт показал, что на начальных этапах испытаний может возникнуть ситуация, когда не выполняется общая тенденция роста степени надежности ПС при доработках. Это может привести к неточности результатов, получаемых с помощью метода максимального правдоподобия (для расчета максимума функции потребуется бесконечное число итераций).
Для исключения данного недостатка целесообразно использовать метод минимизации относительной энтропии [7]:
I = Vм № 1п ^ + П'~т' 1п П'~т' '
1и = А/=1( П] 1П П]Р]+ П] Ш п](1-Р]))’
где: ту - число неудачных запусков из общего числа пу запускову-серии; и - число проведенных доработок ПС.
Для проверки необходимого и достаточного условия допустимости метода максимального правдоподобия можно воспользоваться следующим соотношением:
Х“=1(7-1 )(П]-т]) > Х“=1(п7-т70
Е“=1(/-1) « '
Оценка точности модели оценки надежности
Следует сказать, что подавляющее большинство моделей роста надежности представляются авторами без аналитической оценки их точности, что затрудняет их выбор. Данная работа исключает этот недостаток.
Точность оценивания степени надежности ПС можно характеризовать средним квадратическим отклонением. Для получения модели оценки точности удобно воспользоваться методом линеаризации [6]. Тогда среднее квадратическое отклонение находится по следующей формуле:
оу = ((дРу/ дР0)252Ро + ... + Щ/ дае)2 52е +
+ 2(^1)(^1)8Р 5Р рР1
\дР0) УдРы) ро р™иро1 1
^ае^1 $ае Рае_1ае )2>
... +2
\дае\дае)
где: рХу - коэффициент корреляции параметров х и у.
Для получения значений частных производных функции роста надежности легко найти следующие расчетные выражения:
с1Р]
йРа = ^;
dP■v
йРт \ Р2 ^ йР] = Р0 — Рс
$0,1 Роэ
а,-& - а, + 1);
О/Уд I
где: о, = ПЦ1 К, =
у.. = V1
11 Лг=11 -Е?=1а*к
/Рю
Остальные параметры формулы можно получить из ковариационной матрицы, содержащей дисперсии и корреляционные моменты искомых оценок:
3Р03РооРР0Рю ■" ^ Рр0а
8рп Зрса РРрР^ $Р~ ■■■
% =
Ро ^00 гР()Р<ю - о РРп0.е ^й.е Рр<х
С
Для ее построения можно воспользоваться следующим соотношением:
X = -Ж“1 ,
где: ^ - матрица вторых частных производных функции правдоподобия:
М =
д2 1п1,, д2 1п
д2 1п1„
а р02
д2 1пь,,
д Р0РХ д2 1п1,,
д Р0ае д2 1п1„
. д Р0ае дРхае
Для расчета вторых частных производных легко получить следующие расчетные выражения:
й1п1и
*;
где:
1 -Р;
Планирование испытаний
В процессе управления надежностью ПС следует решать задачи планирования затрат на тестирование и испытания для достижения требуемого уровня надежности ПС. В таком случае полезно оценить тенденции по процессу развития и внедрения программного продукта, получить прогноз числа оставшихся ошибок и сложности их исправления.
Для расчета ряда показателей планирования можно воспользоваться моделями (1-3). К сожалению, статистические модели оценки надежности не позволяют спрогнозировать частоту исправлений конкретного типа, а лишь используют эту информацию. Проведение доработок конкретного типа зависит от условий эксплуатации, достигнутой степени надежности, требований по надежности к ПС, квалификации и опыта разработчиков и, следовательно, их содержание может меняться. Для учета типов доработок целесообразно воспользоваться теорией многофакторного анализа. Поскольку изменение числа исправлений конкретного типа рассматривается в масштабе проведений доработок, то для аппроксимации функции сложности модификации ПС можно использовать, например, многочлен второй степени от одной переменной:
к] = к0 + к^' + к2]2,
где: к0, к1 , к2 - параметры многочлена; _/ = 1, и.
Легко показать, что параметры многочлена имеют следующий вид:
Ка =
30(2“=1^ ~ и(и _ ^ - Д2(2 + 3м - Зи2 - 2и3)
10(м - 1)
6(!у=і к} - 2“=1 Б}] - &(1 - и2)м
к, =
и(1 — и)
Vй Г Ц2 + 3Ц — 2 _.1уи С ; 2 ум С
Ь)=іК-] 2 и — 1 V
и — (4 — и2)
Тогда, считая, что по имеющимся данным об испытаниях получены оценки параметров модели и достигнутой степени надежности ПС Ри, имеем следующее расчетное выражение модели прогноза степени надежности:
р,Р=рт-(рт-ри )ПЙ+1 (1
■'Еї=1аікі] /Рт), (4)
где: Ртр - требуемая степень надежности ПС; и - номер последней проведенной доработки; у - число планируемых доработок.
Расчет необходимого числа доработок для достижения требуемой степени надежности можно выполнить путем циклического пересчета выражения (4). Для этого рассчитывается значение Ри по формуле (4) и далее в цикле, увеличивая у, определяем значение Ри+у. При выполнении условия > Ртр осуществляется выход из
цикла.
Для простоты использования прогнозирующей модели положим Ау=а, что соответствует переходу от модели (3) к (1). Тогда, упростив выражение
(4) и прологарифмировав его, получим следующее выражение для оценки числа / необходимых доработок ПС для достижения требуемой степени надежности Ртр
1п(-
Р^—Рт
—)
1п(1-а/Рот)
/ =
где: ||К|| - операция получения ближайшего наибольшего целого К, а - усредненный коэффициент эффективности доработки ПС.
Считая, что при доработках не вносятся дополнительные ошибки (т.е. Рс«=1), можно получить формулу числа оставшихся ошибок после и-ой доработки:
1-р-
тр
1п(1-я)
Апробация немонотонной модели оценки надежности
В результате исследований установлено, что предложенные немонотонные модели (2) и (3) обладают высокой точностью ( оу <0.001) при числе доработок более 10 и числе запусков более 50. Для контроля согласованности модели с исходными данными использовался критерий Мизеса (при пороговом значении 0.01) [6].
Исследование влияния коэффициента эффективности доработок ПС на точность результатов модели (3) показало, что при учете категориро-вания доработок точность может повышаться на порядок.
Сравнительный анализ предложенных моделей с известными отладочными моделями показали ряд их преимуществ, а именно:
- учет возможного резкого снижения степени надежности при обновлениях;
- возможность учета сложности доработок;
- отсутствие ограничений на организацию испытаний и сбора информации;
- возможность учета показателей надежности ПС, полученных на предыдущих этапах разработки и внедрения;
- отсутствие субъективных параметров, как-то: квалификация программиста и уровень технологии программирования;
- простота использования - нет необходимости рассчитывать вероятности реализации всех путей программы, как, например, в модели Нельсона и её модификациях [11, 14].
Выводы
В работе, фактически, обоснован метод планирования испытаний, основанный на использовании обобщенной немонотонной модели оценки надежности ПС по результатам запусков и модификаций. В рамках предложенного метода получены
расчетные выражения параметров модели оценки надежности ПС, а также оценки точности и планирования испытаний. Предложенная обобщённая немонотонная модель (3) позволяет учесть возможные моменты снижения степени надежности ПС, что свойственно, например, разработке программ с открытым кодом, многоверсионных программ и др. Точность обобщенной модели зависит от решения задачи классификации доработок ПС. Модель может быть интегрирована с показателями надежности функционирования ПС, полученными на ранних стадиях разработки программ. Упрощение модели позволяет свести ее к экспоненциальным ЫНРР-моделям роста надежности, используемым на этапах эксплуатации и совершенствования информационных систем [8].
Основным достоинством предложенных немонотонных моделей является возможность повышения точности (за счет категорирования модификаций) более чем на 10%, что равноценно снижению на 5-15% необходимого числа запусков ПС в процессе испытаний.
Следует отметить, что к недостаткам отладочных моделей относят их низкую точность при малой статистике, что, однако, можно избежать путем применения соответствующих приемов повышения точности, в том числе метода Вальда [10].
Предложенный метод и модели могут быть рекомендованы также для оценки показателей разного рода модифицируемых и обучающихся систем.
Литература
1. Александрович А.Е., Бородакий Ю.В., Чуканов В.О. Проектирование высоконадёжных информационновычислительных систем. М.: Радио и связь, 2004. 144 с.
2. Волков Л.И. Управление эксплуатацией летательных комплексов. М.: Высшая школа, 1981. 226 с.
3. Гуров Д.В., Гуров В.В., Иванов М.А. Использование моделей надежности программного обеспечения для оценки защищенности программного комплекса // Безопасность информационных технологий. 2012. № 1. С. 88-91.
4. Карповский Е.Я., Чижов С.А. Надежность программной продукции. Киев: Тэхника, 1990. 160 с.
5. Королев В.Ю. Некоторые критерии проверки надежности программного обеспечения // Системы и средства информатики. 2013. Т. 23. № 1. С. 132-142.
6. Ллойд Д., Липов М. Надежность. М.: Сов.радио, 1964. 668 с.
7. Марков А.С. Модели оценки и планирования испытаний программных средств по требованиям безопасности информации. Вестник МГТУ им. Н.Э.Баумана. Сер. «Приборостроение». 2011. Спецвыпуск. С.90-103.
8. Методы оценки несоответствия средств защиты информации / А.С.Марков, В.Л.Цирлов, А.В.Барабанов; под ред. А.С.Маркова. - М.: Радио и связь, 2012. 192 с.
9. Пальчун Б.П., Юсупов P.M. Оценка надежности программного обеспечения. СПб.: Наука, 1994. 84 с.
10. Смагин В.А. Основы теории надежности программного обеспечения. - СПб.: ВКА им. А.Ф.Можайского, 2009. 336 с.
11. Тейер Т., Липов М., Нельсон Э. Надежность программного обеспечения: Анализ крупномасштабных разработок: Пер. с англ. М.: Мир, 1981. 323 с.
Reference
1. Aleksandrovich A.E., Borodakiy Yu.V., Chukanov V.O. Proyektirovaniye vysokonadezhnykh informatsionno-vychislitelnykh system. Moscow, Radio i svyaz, 2004. 144 p.
2. Volkov L.I. Upravleniye ekspluatatsiyey letatelnykh
kompleksov, Moscow, Vysshaya shkola, 1981, 226 p.
3. Gurov D.V., Gurov V.V., Ivanov M.A. Ispolzovaniye modeley nadezhnosti programmnogo obespecheniya dlya otsenki zashchishchennosti programmnogo kompleksa, Bezopasnost informatsionnykh tekhnologiy, 2012, No 1, pp. 88-91.
4. Karpovskiy Ye.Ya., Chizhov S.A. Nadezhnost programmnoy produktsii, Kiyev: Tekhnika, 1990, 160 p.
5. Korolev V.Yu. Nekotoryye kriterii proverki nadezhnosti
programmnogo obespecheniya, Sistemy i sredstva informatiki, 2013, Vol. 23, No 1, pp. 132-142.
6. Lloyd D., Lipow M. Nadezhnost. M.: Sov.radio, 1964. 668 p.
7. Markov A.S. Modeli otsenki i planirovaniya ispytaniy
programmnykh sredstv po trebovaniyam bezopasnosti informatsii. Vestnik MGTU im. N.E.Baumana. Ser. «Priborostroyeniye», 2011, Spetsvypusk, pp.90-103.
8. Markov A.S., Tsirlov V.L., Barabanov A.V., Metody otsenki nesootvetstviya sredstv zashchity informatsii, by ed. A.S.Markov, Moscow, Radio i svyaz, 2012, 192 p.
9. Palchun B.P., Yusupov P.M. Otsenka nadezhnosti programmnogo obespecheniya. Saint Petersburg, Nauka, 1994, 84 p.
10. Smagin V.A. Osnovy teorii nadezhnosti programmnogo obespecheniya, Saint Petersburg, VKA im. A.F.Mozhayskogo, 2009, 336 p.
11. Teyer T., Lipow M., Nelson E. Nadezhnost programmnogo obespecheniya: Analiz krupnomasshtabnykh razrabotok, Moscow, Mir, 1981, 323 p.
12. Титов А.В., Харьковой А.А., Чуканов В.О. Модели надежности программного обеспечения ответственного назначения // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Информатика. Телекоммуникации. Управление, 2011. Т. 2. № 120. С. 123-126.
13. Царевский А.В. Обеспечение надежности аппаратно-
программных комплексов обмена информацией // Автоматизация процессов управления. 2011. №2.
С. 56-65.
14. Черкесов Г. Н. Надежность аппаратно-программных комплексов. СПб.: «Питер», 2005. 479 с.
15. Штрик А.А., Осовецкий Л.Г., Мессих И.Г. Структурное проектирование надежных программ встроенных ЭВМ. Л.: Машиностроение, 1989. 296 с.
16. Шубинский И.Б., Замышляев А.М., Прошин Г.Б. Функциональная надежность программного обеспечения информационных систем // Надежность.
2011. Т. 38. № 3. С. 72-81.
17. Musa J.D. More Reliable Software Faster and Cheaper. 2nd Edition. TATA McGraw-Hill, 2004. 632 p.
18. Pham H. System Software Reliability. Springer Series in Reliability Engineering. Springer, 2006. 440 p.
19. Shanmugam L., Florence L. An Overview of Software Reliability Models // International Journal of Advanced Research in Computer Science and Software Engineering.
2012. Vol. 2. № 10. P. 36-42.
20. Xie M., Dai Y.-S., Poh K.-L. Computing Systems Reliability. Models and Analysis. Kluwer, 2004. 293 p.
12. Titov A.V., Kharkovoy A.A., ChukanovV.O. Modeli nadezhnosti programmnogo obespecheniya otvetstvennogo naznacheniya, Nauchno-tekhnicheskiye vedomosti Sankt-Peterburgskogo gosudarstvennogo politekhnicheskogo universiteta. Informatika. Telekommunikatsii. Upravleniye, 2011, Vol. 2, No 120, pp. 123-126.
13. Tsarevskiy A.V. Obespecheniye nadezhnosti apparatno-programmnykh kompleksov obmena informatsiyey, Avtomatizatsiya protsessov upravleniya, 2011, No 2, pp. 5665.
14. Cherkesov G. N. Nadezhnost apparatno-programmnykh kompleksov. Saint Petersburg, Piter, 2005, 479 p.
15. Shtrik A.A., Osovetskiy L.G., Messikh I.G. Strukturnoye proyektirovaniye nadezhnykh programm vstroyennykh EVM. Leningrad, Mashinostroyeniye, 1989, 296 p.
16. Shubinskiy I.B., Zamyshlyayev A.M., Proshin G.B. Funktsionalnaya nadezhnost programmnogo obespecheniya informatsionnykh sistem, Nadezhnost,
2011, Vol. 38, No 3, pp. 72-81.
17. Musa J.D. More Reliable Software Faster and Cheaper. 2nd Edition. TATA McGraw-Hill, 2004. 632 p.
18. Pham H. System Software Reliability. Springer Series in Reliability Engineering. Springer, 2006. 440 p.
19. Shanmugam L., Florence L. An Overview of Software Reliability Models, International Journal of Advanced Research in Computer Science and Software Engineering,
2012, Vol. 2, No 10, pp. 36-42.
20. Xie M., Dai Y.-S., Poh K.-L. Computing Systems Reliability. Models and Analysis. Kluwer, 2004, 293 p.