Комплекс программ оценивания надежности и планирования разработки программных средств на основе динамических моделей
Данилов А. А. ООО «Нокиа Солюшенз энд Нетвокс» Санкт-Петербург, Россия апёгеу.ёапИоу. aad@mail.ru
Аннотация. Разработан комплекс программ для вычисления вероятностных показателей процессов испытаний и состояния программных средств: вероятности пребывания системы в определённых состояниях, функции распределения времени обнаружения и устранения ошибок, математические ожидания случайных величин, количество обнаруженных или устраненных ошибок. Известные модели испытаний программных средств не учитывают вероятностный характер нахождения и исправления ошибок. Комплекс построен на усовершенствованных численных моделях отладки программ и учитывает вероятности обнаружения ошибок для каждого модуля при тестировании, а также состоятельность (мощность) используемых тестов. Использование комплекса при планировании сокращает сроки и затрат на разработку программных средств при обеспечении необходимых показателей качества и надежности. Он позволяет планировать необходимые ресурсы для достижения заданных показателей качества, сравнивать стратегии тестирования и выбирать лучшую из них с учётом особенностей конкретной стадии жизненного цикла программ с учётом вычислительных, экономических, временных, квалификационных и других возможностей.
Ключевые слова: модель, программные средства, ошибка, вероятность, стратегия испытаний, граф.
Введение
Информационные технологии в современном мире используются во всех сферах деятельности для повышения производительности и улучшения качества. Требования к надежной и безопасной работе программных средств (ПС) неуклонно повышаются. Отказы ПС могут приводить к большим экономическим потерям, а порой - и к катастрофическим последствиям. Экономические затраты на проекты должны укладываться в заранее определенные рамки. Несоблюдение сроков поставок приводит к штрафным санкциям для организаций, разрабатывающих ПС. Эти важные аспекты нашли отражение во всех современных стандартах разработки ПС -как российских, так и международных.
Сокращение затрат и сроков на разработку ПС и обеспечение их качества (надежности) могут быть достигнуты за счет использования не только более совершенных технологий, среды разработки и средств автоматизации тестирования (отладки), но и грамотного и эффективного планирования работ и разделения ресурсов при создании ПС.
Для решения этих задач могут быть использованы средства математического моделирования надежности ПС и процессов их разработки (отладки). К настоящему времени соз-
дано большое количество моделей для оценивания и предсказания надежности ПС на различных этапах их жизненного цикла. Подробный обзор и описание таких моделей дан в [1-3].
Все известные модели в совокупности имеют ряд недостатков, ограничивающих их использование: модели не обладают достаточной общностью (универсальностью); описывают процессы обнаружения, но не устранения ошибок, что делает невозможным их применение собственно для планирования испытаний; моделируют процессы обнаружения и устранения всех прогнозируемых ошибок, хотя не все эти ошибки могут быть допущены (найдены) с единичной вероятностью, т. е. модели не учитывают вероятностный характер обнаружения ошибок и состоятельность (мощность) используемых тестов [4-6].
Цель данной работы - создание комплекса программ, в котором предусматривается возможность учитывать вероятностные параметры обнаружения ошибок при тестировании программ или состоятельность используемых тестов.
Программный комплекс
Программный комплекс оценивания надежности и планирования построен на базе усовершенствованных динамических моделей. Процесс обнаружения ошибок аппроксимируется экспоненциальным законом, а процесс устранения может аппроксимироваться экспоненциальным двухэтапным неоднородным распределением Эрланга или двухфазным обобщенным распределением Кокса. Процесс отладки программ после аппроксимации представляется Марковской системой обслуживания с дискретным множеством состояний и непрерывным временем. Предусмотрена возможность использования вероятностей обнаружения ошибок для каждого модуля при их тестировании.
На базе модифицированных размеченных графов составляются системы дифференциальных уравнений, решение которых позволяет вычислить вероятностные показатели процессов испытаний и состояния программных средств. Задав начальные условия к системе уравнений, можно найти численное решение соответствующей задачи Коши для произвольного значения времени и вычислить вероятностные показатели. Решение уравнений целесообразно выполнять методом Рунге - Кутты. Для построения комплекса использовались подходы, рассмотренные в [7, 8]. При этом обеспечиваются приемлемые характеристики устойчивости и точности решения, обусловленные тем, что при используемом
методе нумерации состоянии соответствующие матрицы состояний являются нижними треугольными. Программный комплекс создан с использованием среды МЛТЬЛБ.
Исходные данные
Для каждой модели определяются исходные данные. Некоторые из них одинаковы для всех моделей, другие являются специфичными для конкретной модели.
Исходные данные для расчета надежности: общее число ошибок, начальные моменты распределений длины временных интервалов обнаружения и исправления ошибок (в зависимости от используемой модели задаются от одного до трех начальных моментов), вероятности обнаружения ошибок и граф переходов между состояниями. Используя рассчитанные показатели надежности и данные о структуре ПС, оценивают надежность отдельных модулей и всего ПС, обоснуют стратегии и планирование испытаний многомодульных ПС.
Одинаковые исходные данные для всех моделей:
• предполагаемое количество ошибок;
• средняя длительность интервалов времени тестирования для каждой ошибки;
• значения вероятностей обнаружения ошибок.
При задании исходных данных для таких моделей распространенным подходом является использование собранной статистики уже завершенных проектов. Однако для учета особенностей конкретного проекта широко применяются программные метрики, характеризующие программный продукт (его структуру, сложность, интерфейсы, факторы разработки и др.). Так, с точки зрения современного объектно-ориентированного программирования целесообразно использовать наборы метрик Чайдамбера - Кемерера и Бансия -Дэвиса [9, 10]. Значения метрик собираются из документов проектирования. На основе полученных метрик решается задача классификации модулей. Так, вероятность наличия ошибки в модуле ю. можно оценить с использованием логистической регрессии и выразить формулой
юг = 1/(1 + е"(р0 +Ев ^)),
где в. - параметры логистической регрессии, которые определяются методом максимального правдоподобия; х. - значение метрики сложности.
Для моделей с экспоненциальной аппроксимацией процесса устранения необходимо определить длительность интервалов времени исправления ошибок. При использовании распределений Эрланга и Кокса для аппроксимации процесса устранения определяют интенсивности экспоненциальных фаз.
Двухэтапное неоднородное (обобщенное) распределение Эрланга предполагает последовательное прохождение двух экспоненциальных фаз с интенсивностями ^и ^ Для корректной аппроксимации случайной произвольной величины двухэтапным распределением Эрланга необходимо, чтобы первые два момента распределений совпадали. Тогда система уравнений принимает вид
где / = gi / г!; г = 1, 2; gi - г-й начальный момент исходного распределения. Решая систему уравнений (1), получим
1 1 /• —+ —= /1; ! М-2
1
(1)
М-1,2 =
/1 ±У 4 /2 - 3 /12 2(/12 - /2)
(2)
Из (2) следует, что параметры являются вещественными при аппроксимации исходной плотности с коэффициентом вариации 1/л/2 1. При использовании аппроксимации в диапазоне 0 1/\/2 целесообразно использовать комплексно сопряженные параметры = а + ур, Ц2 = а - ур. Из (2) находим:
а =
/1/2( /12 - /2), Р = 73/12 -4ЛД( /12 -/2).
~2 +-+ ~ = ^
! М-1М-2 |2
Параметры аппроксимирующего распределения могут быть вещественными или комплексно сопряжёнными, при этом вероятности состояний исследуемой системы являются вещественными. Таким образом, для распределения Эрланга необходимо определить два первых момента аппроксимируемого распределения.
Дополнительно для распределения Кокса находят вероятность (после прохождения первой фазы) продолжения или завершения процесса. Двухфазное распределение Кокса представляет собой смесь двух экспоненциальных фаз с ин-тенсивностями ц и |2. При этом после прохождения первой фазы с некоторыми вероятностями р и 1 - р = р выбираются продолжение (следующая фаза) или завершение процесса. Для получения параметров аппроксимирующего распределения С2 используется система уравнений
Р = 12( Л!-1)/11;
11 = (12 /1-1)/(12 /2- /1);
12 = (/1/2 - /3 ±>В )/(2(/2 - /1/3)),
где В = (/1/2 -/з)2 -4(/22 -/1/3Х/12 -/2); /• = /г!; г = 1,3 ; gi - г-й начальный момент исходного распределения. Эти параметры тоже могут быть вещественными или комплексно сопряженными, при этом вероятности состояний исследуемой системы являются вещественными. Для распределения Кокса необходимо определить три первых момента исходного распределения.
Матрицы индексации состояний
Для каждой модели формируются матрицы индексации состояний. Для моделей с экспоненциальной аппроксимацией процесса устранения матрицы индексации состояний двумерные, а для аппроксимаций Эрланга и Кокса - трехмерные. Матрицы индексации состояний используются для решения системе уравнений методом Рунге - Кутты.
Моделирование динамических систем. Матрицы индексаци состояний
Для каждой модели формируются матрицы индексации состояний. Для моделей с экспоненциальной аппроксимацией процесса устранения матрицы индексации состояний двумерные, а для аппроксимаций Эрланга и Кокса - трехмерные. Матрицы индексации состояний используются для решения системе уравнений методом Рунге - Кутты.
Для моделирования сложных динамических систем используется функция ode45 среды МЛТЬЛБ. Эта функция использует формулы Рунге - Кутты 4-го и 5-го порядков. На вход ode45 передаются функции для вычисления правых частей систем дифференциальных уравнений, интервал интегрирования и вектор начальных условий. Вектора начальных условий задаются в виде:
• для моделей с экспоненциальной аппроксимацией процесса устранения -
[1, если г + ] = 0; [0, если I + } Ф 0;
Р] (0) =
• для моделей с аппроксимацией Эрланга и Кокса процесса устранения -
Рл,} (0) =
1, если г + к + } = 0; 0, если г + к + ] Ф 0.
Основные характеристики моделей находятся по следующим формулам.
Вероятность Яг(г) того, что в процессе испытаний было найдено ровно г ошибок (сумма найденных, но не исправленных и устраненных ошибок):
• для моделей с экспоненциальной аппроксимацией процесса устранения
Ъ (') = Ъ)=0 Р -}, V С), г = ;
• для моделей с аппроксимацией Эрланга и Кокса процесса устранения
С) = Ъ)=0 Р-7,0,V С) + Ъ)=1Р-V+1,1,V-1 С).
Вероятность Р) (г) того, что в процессе испытаний было устранено (исправлено или отсутствовало) ровно) ошибок:
• для моделей с экспоненциальной аппроксимацией процесса устранения
Р) (') = Ъ I-7Р,) (г),) = 0Йт;
• для моделей с аппроксимацией Эрланга и Кокса процесса устранения
Р) (г) = Ъы 40,) (г) + Ъ=- Р) (г).
Математическое ожидание числа найденных ошибок
^ (г) = Ъ1№ (г).
Математическое ожидание числа устраненных ошибок
^ (г) = Ъ N=1 )Р) (г).
Соответственно, среднее число Ыщ (г) ошибок, не обнаруженных к моменту времени г, и среднее число ЫрЬ (г) ошибок, не устраненных к моменту времени г, определяются по формулам
Ыкь = N - МК (г);
МрЬ = N - ЫР (г).
Функция ¥1 (г) распределения времени устранения не менее г ошибок
Модель позволяет оценить время отладки, которое требуется, чтобы устранить ЫТр ошибок с заданной вероятностью РТр, как
Ытр РТ
= г|¥ыТР (г) > Р
тр
Примеры вычислений
Для всех стратегий расчет выполнен при следующих исходных данных. Предполагается, что изначально в ПС содержится N = 10 ошибок со средней длительностью интервалов тестирования, соответственно, 0,3; 0,3; 0,3; 0,7; 0,7; 1; 2; 3; 5; 10 ч. Длительность интервала исправления ошибок равна 3 часам. Значения вероятностей обнаружения ошибок юг, г = 1, N указываются непосредственно на графиках и в таблицах, так как этот параметр для данной работы представляет наибольший интерес. Некоторые результаты расчетов приведены для примера.
Стратегия 0. Обнаруженные ошибки устраняются последовательно по мере их выявления, а тестирование во время исправления найденных ошибок не приостанавливается. Время устранения всех обнаруженных ошибок распределено по экспоненциальному закону [11]. Матрица индексации состояний представлена на рис. 1.
12
22 31
1]
23 32
14 24
Л
15 25 34
16 26 35
17 27 36
18 28 37
19 29 33
20 30 О
21 о о
рг (г) = ЪыР (г), г = 0, N.
Рис. 1. Матрица индексации для стратегии 0
Стратегия 1. Этап тестирования продолжается, пока не будут определены все отсутствующие и обнаружены имеющиеся ошибки. Затем выявленные ошибки исправляют. Время устранения всех обнаруженных ошибок распределено по экспоненциальному закону с интенсивностью р.. Это подробно рассмотрено в [11]. Матрица индексации состояний эквивалентна матрице для нулевой стратегии. На рис. 2 представлены графики функций распределения времени (ФРВ) устранения не менее г (г = 5, 10) ошибок для стратегии 1.
Стратегия 2. Этап тестирования продолжается, пока не будет обнаружена очередная ошибка или не будет определено ее отсутствие. После обнаружения ошибки тестирование приостанавливается, ошибка исправляется. После исправления ошибки или её необнаружения вновь начинается тестирование. Время устранения всех обнаруженных ошибок распределено по экспоненциальному закону [11]. Матрица индексации состояний представлена на рис. 3.
Стратегия 3. Этап тестирования продолжается, пока не будет обнаружено или не будет определено отсутствие N первичных ошибок, вместе взятых (ошибок первого, блокирующего пакета). После этого тестирование приостанавливается, обнаруженные первичные ошибки полностью исправляются с интенсивностью ц1. Затем таким же образом продолжается отладка для вторичных ошибок (второго пакета), а найденные ошибки исправляют с интенсивностью |2. Вре-
Рис. 2. ФРВ для стратегии 1
Рис. 3. Матрица индексации состояний для стратегии 2
п, число не устранённых ошибок
Рис. 4. Матрица индексации для стратегии 3
\\ - — стратегия 0 (ш-1)
— - — стратегия 1 (и=1)
ч -стратегия :>
X ч
"* \ "■*■■......
10 20 30 40 50 60
Т, час
Рис. 5. Сравнение стратегий 0-3 при ш = 1
70
80
мя устранения всех обнаруженных ошибок распределено по экспоненциальному закону [11]. Матрица индексации состояний представлена на рис. 4.
Сравнение стратегий 0-3 при ш = 1 представлено на рис. 5.
Стратегия 4. Обнаруженные ошибки устраняются последовательно по мере их выявления, а тестирование во время исправления найденных ошибок не приостанавливается. Произвольное распределение времени устранения всех ошибок аппроксимируется двухэтапным неоднородным распределением Эрланга [12]. Матрица индексации состояний представлена на рис. 6, 7.
Стратегия 5. Этап тестирования продолжается, пока не будет обнаружена очередная ошибка или не будет определено ее отсутствие. После обнаружения ошибки тестирование приостанавливается, ошибка исправляется. После исправления ошибки или её необнаружения вновь начинается тестирование. Произвольное распределение времени устранения всех ошибок аппроксимируется двухэтапным неоднородным распределением Эрланга [12]. Матрица индексации состояний представлена на рис. 8, 9.
Стратегия 6. Этап тестирования продолжается, пока не будут определены все отсутствующие и обнаружены имею-
Рис. 6. Первая страница матрицы индексации 4
Рис. 7. Вторая страница матрицы индексации 4
Рис. 8. Первая страница матрицы индексации 5
Рис. 9. Вторая страница матрицы индексации 5
щиеся ошибки. Затем выявленные ошибки исправляют [13]. Произвольное распределение времени устранения ошибок аппроксимируется распределением Кокса.
Стратегия 7. Этап тестирования продолжается, пока не будет обнаружена очередная ошибка или не будет определено ее отсутствие. После обнаружения ошибки тестирование приостанавливается, ошибка исправляется. После исправления ошибки или её необнаружения вновь начинается тестирование. Произвольное распределение времени устранения ошибок аппроксимируется распределением Кокса [13]. Матрица индексации состояний эквивалентна матрице для пятой стратегии.
Для стратегий 6 и 7 получены данные о зависимости вероятности исправления всех N = 10 ошибок от разных значений коэффициента вариации V распределения интервалов времени устранения ошибок. Эти данные позволили рассчитать значения требуемого времени отладки по заданной вероятности при V = 0,25; 0,5; 0,75; 1,0, которые представлены в таблице. Расчеты показывают, что переход от экспоненциальной модели надежности ПС к неэкспоненциальным дает преимущество в точности прогноза.
Расчет времени отладки по вероятности отсутствия ошибок для стратегий 6 и 7
Вероятность отсутствия ошибки Требуемое время отладки, ч
Значения коэффициента вариации
v = 0,5 v = 0,75 v = 1,0
Стратегия 6
0,8 54,8 55,6 56,5
0,9 62,2 63,1 64,5
0,95 69,4 70,4 71,7
0,99 85,6 86,9 88,5
Стратегия 7
0,8 54,9 55,4 56,4
0,9 62,3 63,2 64,4
0,95 69,2 70,2 71,6
0,99 85,5 86,6 88,4
Стратегия 8. Обнаруженные ошибки устраняются последовательно по мере их выявления, а тестирование во время исправления найденных ошибок не приостанавливается. Произвольное распределение времени устранения ошибок аппроксимируется распределением Кокса [14]. Матрица индексации состояний эквивалентна матрице для четвертой стратегии.
Основные программные модули
Main - основная функция, готовит исходные данные, обращается к функции SystemCalculation для решения системы
дифференциальных уравнений и представляет результаты (графики, выходные данные).
StatesIndexMatrix создает матрицы индексации состояний. Параметры - стратегия и количество ошибок.
ErlangFactors, CoxFactors - функции расчета параметров аппроксимации методами Эрланга и Кокса. Параметры - начальные моменты исходного распределения.
IndexToState вычисляет номер состояния системы по индексам состояния модели. Параметры - индексы состояния модели.
DifferentialEquations - система дифференциальных уравнений. Параметры: векторы интенсивностей обнаружения и исправления ошибок, время моделирования, вектор вероятностей состояний системы в текущий момент времени.
ProbabilityProfile - функция расчета вероятностных характеристик и показателей надежности. Параметры - вектор вероятностей пребывания системы в различных состояниях.
SystemCalculation - функция решения системы дифференциальных уравнений (вызов функций ode45 и Differential-Equations) и расчета показателей надежности (вызов функции ProbabilityProfile).
Обоснование достоверности расчетов
Для проверки достоверности полученных результатов использовали ручную проверку и взаимную проверку моделей.
Ручную проверку проводили путем составления минимальных (рассматривали только две ошибки) систем дифференциальных уравнений и их решения с использованием функции ode45 напрямую. Полученные результаты сравнивали с результатами программного комплекса для соответствующих входных данных.
Взаимная проверка заключалась в сравнении результатов, полученных для более общих моделей, с результатами расчета частных моделей. Схема выполнения взаимной проверки результатов моделирования иллюстрируется на рис. 10.
Общность моделей НСО
M(i)IH2(j)IN
M(i)/E2(j)/N M{i)/C2(j)IN
M(i)IM(j)IN E2(i)IE2(j)/N C2(i)IC2(j)IN
E2(i)/M{j)IN H2(i)/M(j)IN
C2(i)/M(j)IN
Выполнение проверки результатов Рис. 10. Схема взаимной проверки моделей
Подробно схема представлена в [7]. Реализованные модели показаны по степени общности от базовой экспоненциальной до наиболее общей с использованием двухэтапного распределения Кокса. Взаимная проверка моделей показала совпадение полученных результатов.
Заключение
Использование в предложенных моделях оценки надежности для каждого модуля, с одной стороны, повышает точность моделирования процессов отладки ПС, с другой
стороны, модели позволяют учитывать состоятельность тестов, используемых для отладки ПС. Это дает возможность искать пути повышения характеристик надёжности ПС формированием тестов, обнаруживающих ошибки с высокой вероятностью.
Аппроксимация произвольных законов распределения интервалов времени исправления ошибок распределением Кокса обобщает известные Марковские модели, повышает точность моделирования и делает предложенные модели более универсальными. Предложенные модели целесообразно использовать для оценивания текущего уровня надежности ПС и прогнозирования динамики их изменения в процессе испытаний на различных этапах жизненного цикла. Предложенные нестационарные модели позволяют выбрать наилучшую стратегию испытаний ПС исходя из наличия или отсутствия необходимых ресурсов, времени и статистических данных, а также распределить работу групп тестеров и разработчиков.
Разработанный программный комплекс позволяет автоматизировать оценку показателей надежности программ и планирование испытаний для различных стратегий тестирования.
Литература
1. Moranda P. Final Report on Software Reliability Study / P. Moranda, Z. Jelinski. McDonnell Douglas Astronautics Co., MADC Report Number 63921, 1972.
2. Musa J. D. Software Reliability: Measurement, Prediction, Application / J. D. Musa, A. Iannino, K. Okumoto. - NY: McGraw-Hill, 1987.
3. Littlewood B. The Littlewood-Verrall model for software reliability compared with some rivals / B. Littlewood // J. Syst. Softw. 1980. Vol. 1, № 3. P. 251-258. doi: 10.1016/0164-1212 (79)90025-6.
4. Смагин В. А. Основы теории надежности программного обеспечения / В. А. Смагин. - СПб.: ВКА им. А. Ф. Можайского, 2009. 355 с.
5. Бубнов В. П. Разработка динамических моделей нестационарных систем обслуживания / В. П. Бубнов, В. И. Сафонов. - СПб.: Лань, 1999. 64 с.
6. Бубнов В. П. Нестационарная модель надежности программных средств с распределением Кокса длин интервалов времени исправления ошибок / В. П. Бубнов, А. В. Тырва, К. И. Бурцева // Вестн. Всерос. науч.-исслед. и проектно-кон-структорского ин-та электровозостроения. 2010. Вып. 1 (59). С. 143-152.
7. Гиндин С. И. Программный комплекс расчета характеристик многоканальных систем массового обслуживания с «разогревом» и подход к его тестированию / С. И. Гиндин, А. Д. Хомоненко, С. В. Матвеев // Соврем. проблемы науки и образования. 2014. № 4. С. 152.
8. Рыжиков Ю. И. Пакет программ для расчета систем с очередями и его тестирование / Ю. И. Рыжиков // Тр. СПИИРАН. 2008. № 7. С. 265-284.
9. Chidamber S. R. A metrics suite for object oriented design / S. R. Chidamber, C. F. Kemerer // IEEE Trans. Software Eng. 1994. Vol. 20, № 6. P. 476-493. doi: 10.1109/32.295895.
10. Emam K. El. The prediction of faulty classes using object-oriented design metrics / K. El Emam, W. Melo, J. C. Machado // J. Syst. Softw. 2001. Vol. 56, № 1. P. 63-75.
11. Хомоненко А. Д. Нестационарные модели стратегий испытаний программных средств при вероятностных параметрах обнаружения ошибок / А. Д. Хомоненко, А. И. Данилов, А. А. Данилов // Информационно-управляющие системы. 2015. Вып. 4. С. 50-58.
12. Хомоненко А. Д. Динамические модели отладки программ с вероятностным обнаружением ошибок и распределением Эрланга длительности их исправления / А. Д. Хомо-ненко, А. И. Данилов, А. А. Данилов // Науч.-технич. вестн. информ. технологий, механики и оптики. 2016. Т. 16, № 4. С. 655-662. doi: 10.17586/2226-1494-2016-16-4-655-662.
13. Хомоненко А. Д. Нестационарные модели отладки программ с распределением Кокса длительности исправления ошибок / А. Д. Хомоненко, А. И. Данилов, А. А. Данилов, П. В. Герасименко // Междунар. конф. по мягким вычислениям и измерениям. Т. 1. Секции 1-3. - СПб., 2016. С. 163-166.
14. Данилов А. И. Методика численного анализа эффективности отладки программных средств / А. И. Данилов, А. А. Данилов // Науч.-технич. вестн. информ. технологий, механики и оптики. 2017. Т. 17, № 3. С. 543-551. doi: 10.17586/22261494-2017-17-3-543-551.
Software Package Based on Dynamic Models for Reliability Estimation and Project Planning
Danilov A. A. Nokia Solutions and Networks St. Petersburg, Russia andrey.danilov. aad@mail.ru
Abstract. The software package for testing process probabilistic characteristic calculations was created: probability of certain states, time distribution function of errors detection and resolution, mathematical expectation of random variables, number of detected or corrected errors. Available software testing models do not take into account the probabilistic nature of error detection and resolution. The software package is built on advanced numerical models of testing processes and takes into account the error detection probability for each software module as well as tests viability (capacity). The use of the package in planning reduces time and costs for software development and ensures necessary software quality and reliability. The software package allows to plan necessary resources to achieve specified software quality, compare different testing strategies and choose the best one for available resources.
Keywords: dynamic process models, software testing, error, probability, software testing stategies, labeled graphs.
References
1. Moranda P., Jelinski Z. Final Report on Software Reliability Study. McDonnell Douglas Astronautics Company, MADC Report Number 63921, 1972.
2. Musa J. D., Iannino A., Okumoto K. Software Reliability: Measurement, Prediction, Application. NY, McGraw-Hill, 1987.
3. Littlewood B. The Littlewood-Verrall Model for Software Reliability Compared with Some Rivals. J. Syst. Softw., 1980, vol. 1, no. 3, pp. 251-258. doi: 10.1016/0164-1212 (79)90025-6.
4. Smagin V.A. Theory of Software Reliability [Osnovy teorii nadezhnosti programmnogo obespecheniia]. St. Petersburg, VKA im. A. F. Mozhaiskogo Publ., 2009. 355 p.
5. Bubnov V. P., Safonov V. I. Dynamic Modelling of Non-stationary Queueing Systems [Razrabotka dinamicheskikh modelei nestatsionarnykh system obsluzhivaniia]. St. Petersburg, Lan' Publ., 1999. 64 p.
6. Bubnov V. P., Tyrva A. V, Burtseva K. I. Non-stationary Software Reliability Model with Coxian Distribution of Errors Detection Time interval Lengths [Nestatsionarnaya model' nadezhnosti programmnykh sredstv s raspredeleniem Koksa dlin intervalov vremeni ispravleniya oshibok], Bulletin of All-Russian Scientific Research and Design Institute of Electric Locomotive Engineering [Vestnik Vserossiyskogo nauchno-issledovatel 'skogo i proek-tno-konstruktorskogo instituta elektrovozostroeniya], 2010, is. 1, pp. 143-152.
7. Gindin S. I., Khomonenko A. D., Matveev S. V. Software for Calculation the Characteristics of Multichannel Queueing Sys-
tems with „Warm-Up" and Approach for its Testing [Program-mnyi kompleks rascheta kharakteristik mnogokanal'nykh sistem massovogo obsluzhivaniia s „razogrevom" i podkhod k ego tes-tirovaniiu], Modern problems of sci. and education [Sovremennye problemy nauki i obrazovaniia], 2014, no. 4, pp. 152.
8. Ryzhikov Yu. I. Program Package for Queuing System Computation and its Testing [Paket programm dlya rascheta sistem s ocheredyami i ego testirovanie]. SPIIRAS Proc. [Trudy SPIIRAN], 2008, no. 7, pp. 265-284.
9. Chidamber S. R., Kemerer C. F. A Metrics Suite for Object Oriented Design, IEEE Trans. Software Eng., 1994, vol. 20, no. 6, pp. 476-493. doi: 10.1109/32.295895.
10. Emam K. El, Melo W., Machado J. C. The Prediction of Faulty Classes Using Object-Oriented Design Metrics, J. Syst. Softw., 2001, vol. 56, no. 1, pp. 63-75.
11. Khomonenko A. D., Danilov A. I., Danilov A.A. Non-stationary Models of Software Testing Strategies with Probabilistic Parameters for Fault Detection [Nestatsionarnye modeli strategiy ispytaniy programmnykh sredstv pri veroyatnostnykh parametrakh obnaruzheniya oshibok]. Inf. Control Syst. [Infor-macionno-upravljajushhie sistemy], 2015, is. 4, pp. 50-58.
12. Khomonenko A. D., Danilov A. I., Danilov A.A. Dynamic Software Testing Models with Probabilistic Parameters for Fault Detection and Erlang Distribution for Fault Resolution Duration [Dinamicheskie modeli otladki programm s veroyatnostnym ob-naruzheniem oshibok i raspredeleniem Erlanga dlitel'nosti ikh ispravleniya]. Sci. Tech. J. Inf. Technol., Mech. Optics [Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki], 2016, vol. 16, no. 4, pp. 655-662. doi: 10.17586/22261494-2016-16-4-655-662.
13. Khomonenko A. D., Danilov A. I., Danilov A. A., Gerasi-menko P. V. Nonstationary Software Testing Models with Cox Distribution for Fault Resolution Duration [Nestatsionarnye modeli otladki programm s raspredeleniem Koksa dlitel'nosti ispravleniya oshibok]. Proc. 19th Int. Conf. Soft Comput. and Measurements [Mezhdunarodnaya konferentsiya po myagkim vychisleniyam i izmereniyam], SCM2016, St. Petersburg, 2016. Pp. 209-212.
14. Danilov A. I., Danilov A. A. Numerical Analysis Methods of Software Test Efficiency [Metodika chislennogo analiza effek-tivnosti otladki programmnykh sredstv], Sci. Tech. J. Inf. Technol., Mech. Optics [Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki], 2017, vol. 17, no. 3, pp. 543-551. doi: 10.17586/2226-1494-2017-17-3-543-551.