УДК 004.052.42
МЕТОДИКА ОЦЕНИВАНИЯ ЭФФЕКТИВНОСТИ СТРАТЕГИЙ ОТЛАДКИ ПРОГРАММНЫХ СРЕДСТВ С РАСПРЕДЕЛЕНИЕМ ЭРЛАНГА ДЛИТЕЛЬНОСТИ ОБНАРУЖЕНИЯ ОШИБОК
А.И. Данилов, А.А. Данилов
Предлагаются две нестационарные модели (стратегии) поиска и устранения ошибок в программах, на базе которых разрабатывается методика оценивания эффективности отладки программных средств, использование которой позволяет комплексно планировать финальную надежность программ, затрачиваемые ресурсы и необходимое время на различных этапах реализации проектов. Для аппроксимации процессов обнаружения ошибок используется двухфазное распределение Эрланга. После аппроксимации процессы поиска и устранения ошибок моделируются марковской системой обслуживания с дискретным множеством состояний и непрерывным временем. При этом в моделях используются вероятности обнаружения ошибок для каждого модуля. Приведены модифицированные размеченные графы и системы дифференциальных уравнений для двух стратегий. Решение этих систем уравнений (задачи Коши) дает возможности вычислять показатели надежности программных средств (показатели целевых эффектов). При комплексном оценивании эффективности процессов отладки программ использован обобщенный показатель - вероятность достижения цели операции (отладки), для вычисления которого могут применяться метод операционных функционалов или метод ведущих компонент. Приведены результаты расчетов как частных показателей целевого эффекта отладки программ, так и комплексного показателя эффективности.
Ключевые слова: модель, эффективность, программные средства, ошибка, вероятность, распределение Эрланга.
Создание цифровой экономики невозможно без дальнейшего развития и внедрения современных информационных технологий, развития существующих программных средств (ПС) и внедрения новых программных систем. При этом вопросам надежности ПС и эффективности их отладки постоянно уделяется особое внимание. В стандартах на разработку ПС требуется осуществлять прогнозирование затрат на достижение заданных показателей качества программ (и эффективности их отладки), такие как временные, финансовые, аппаратные, людские ресурсы. К настоящему времени опубликовано множество подходов (моделей) для оценивания и прогноза надежности ПС применительно к различным этапам их жизненного цикла. Известные модели обычно классифицируются на эмпирические модели, статистические модели, вероятностные модели и модели надежности ПС на основе нестацонарных систем обслуживания. Описание этих моделей, а также их недостатков, даны в [1-14, 16-18] и здесь не приводится. Из всего перечня недостатков выделим только три. Во-первых, в большинстве моделей используется экспоненциальное распределение интервалов времени обнаружения (исправления) программных ошибок. Во-вторых, в моделях, построенных с использованием нестационарных систем обслуживания, все программные модули делятся на надежные и ненадежные [3], ориентируясь на некоторое пороговое значение вероятности нали-
чия ошибки (например, 0,5). Получается так, что модули, в которых значения вероятностей наличия ошибок меньше 0,5 считаются надежными и исключаются из процессов отладки (моделирования). Остальные программные модули (с вероятностями наличия ошибок большими 0,5) подвергаются отладке (моделированию). При этом в таких моделях прогнозируемые ошибки обнаруживаются уже с единичной вероятностью. Таким образом, в этих моделях не используют вероятности обнаружения ошибок для каждого модуля или мощность используемых тестов. Такой подход неизбежно ведет к возникновению погрешностей в расчетах. В-третих, для оценивания надежности ПС и эффективности процессов их отладки используются частные показатели (показатели целевого эффекта). Однако, при разработке ПС очень важно знать какой ценой и за какое время достигнуто финальное качество ПС. Чаще всего именно расход ресурсов и времени определяют стратегию реализации проектов.
Следовательно, актуальными задачами являются задача повышения точности расчета показателей надежности ПС при моделировании процессов их отладки и задача обоснованного выбора наиболее эффективной стратегии из числа альтернативных на этапах планирования и организации работ с использованием обобщенного показателя эффективности.
Данную работу авторы рассматривают как продолжение работы [13]. Поэтому все, что написано в [13] может быть отнесено к предлагаемой работе за исключением реализации пунктов алгоритма 3-5. Это связано с тем, что в ней разрабатывается одна из возможных стратегий отладки (стратегия 1), а именно, ошибки, обнаруженные во время тестирования, устраняются последовательно по мере их нахождения, а тестирование не прекращается.
Целью настоящей работы является расширение набора нестационарных моделей (альтернативных стратегий (стратегии 2, 3) отладки программ) и разработка на их основе методики оценивания эффективности отладки ПС на различных этапах их жизненного цикла. В этих моделях, как и в [13], используются вероятности обнаружения ошибок в каждом программном модуле или состоятельность используемых тестов. Для реализации общих (неэкспоненциальных) предположений о характере распределения интервалов времени обнаружения ошибок (с целью повышения точности моделирования) используется аппроксимация по методу Кокса. Наряду с частными показателями в качестве комплексного показателя эффективности процессов отладки ПС используется вероятность достижения цели [15, 10, 12, 13], для вычисления которого могут применяться метод операционных функционалов и/или метод ведущих компонент.
Методика оценивания эффективности отладки программных средств.
1. Вычисление вероятности обнаружения ошибок в программном модуле ©¡. Определяется с использованием логистической регрессии по формуле [19, 20]
Ю' "/(1 + е-(в0 вX)), (1)
где в/ - параметры логистической регрессии, которые определяются методом максимального правдоподобия; X/ - значение метрики сложности.
2. Аппроксимация произвольных законов распределения интервалов времени обнаружения ошибок двухэтапным распределением Эрланга. Двухэтапное распределение Эрланга предполагает последовательное прохождение двух экспоненциальных фаз с интенсивностями х и х'. Для аппроксимации произвольного закона распределения случайной величины двухэтапным распределением Эрланга необходимо, чтобы первые два момента распределений были равны. При этом справедлива система уравнений [21, 13]
1 1 _
7 + - Л
Х Х , (2) 111' К ;
--1---1--- 72
х2 хх' х'2 72
где 7/ — gi //!, / -1,2; g/ - / -й начальный момент исходного распределения.
Решив систему уравнений (2) получим
х, х'—7 ^ 47 - 3 7'2, (3)
2(. 712 - 72)
3. Разработка взвешенных графов для стратегий 2 и 3 процессов отладки ПС.
Стратегия 2. Тестирование продолжается, пока не будут определены все отсутствующие и обнаружены имеющиеся ошибки. Затем выявленные ошибки исправляются (другие стратегии и модели опубликованы в [414]).
После аппроксимации произвольных законов распределений времени обнаружения ошибок двухэтапным распределением Эрланга представим процессы обнаружения и исправления ошибок марковской системой обслуживания с дискретным множеством состояний и непрерывным временем. Размеченный граф состояний и переходов таких процессов показан на рис. 1.
При составлении графа учитывались следующие данные. ПС могут содержать N ошибок. Вероятность обнаружения (не обнаружения) /-ой ошибки равна ю/ (Ю/ — 1 - Ю/) и вычисляется по формуле (1). Произвольное распределение времени обнаружения (не обнаружения) ошибок аппроксимируется двухэтапным распределением Эрланга с интенсивностями экспоненциальных фаз Ю/, х/ (ю/х/, х/), зависящими от номера ошибки /
(/ — 1,N). Здесь хг-, х/ вычисляются по формулам (2)-(3). Время исправления ошибок распределено по экспоненциальному закону с интенсивностью ц. Состояния (/, к, /, I) системы в каждый момент времени будем описывать
196
количеством обнаруженных, но не исправленных ошибок 7, числом устраненных (сумма не найденных и исправленных ошибок) / (7, / = 0, N), фазой к (к = 0,1) распределения Эрланга интервалов времени обнаружения (не обнаружения) ошибок и I, которая для полных столбцов (/ = 0, N) графа принимает нулевое значение, а для неполных столбцов (/ = 0, N -1) - единичное значение. Вероятности пребывания системы в этих состояниях обозначим Р7,к/-,1 (¿). Описание переходов из состояния в состояния графа соответствует описанию таких переходов для графа, представленного в [13], за исключением переходов по исправлению ошибок. Здесь такие переходы возможны только из состояния (7, 0,/, 0) в состояние (¿-1, 0,/+1, 0), т.е. из последних состояний каждых полных столбцов в последние состояния последующих полных столбцов (рис. 1). Эти переходы означают завершение этапа тестирования всех ошибок и реализацию этапа исправления найденных ошибок. На каждом шаге этого этапа исправляется (/+1)-я обнаруженная ошибка, устранение которых описывается экспоненциальным законом с интенсивностью ц.
о^-а
х;
1и2Х2
я;
р р
о,су,О ^оид
I
р р
0.0-\"-1.0 мнлмд
р
о,оур
о,и,о'
"О"
га,Х,
р р
МРДО 1,1 ДД
я...а.
Рис. 1. Граф переходов для стратегии 2 отладки программ
Таким образом, общее число состояний системы вычисляется по
2
формуле: Nc = (N +1) + Е7.
7=1
Стратегия 3. Этап тестирования продолжается, пока не будет обнаружена или не определено отсутствие очередной ошибки. После обнаружения ошибки тестирование приостанавливается, ошибка исправляется. После исправления ошибки или ее не обнаружения вновь начинается те-
197
n
стирование. Размеченный граф переходов, для данной стратегии отладки, представлен на рис. 2. При составлении графа использовались исходные данные и обозначения, что и для графа, представленного на рис.1, за исключением стратегии (поиск и исправление найденных ошибок осуществляется последовательно). При этом время исправления ошибок распределено по экспоненциальному закону с интенсивностями цг, зависящими от номера ошибки I (г = 1, N).
О--*гО
К
^0,0,0,0 ^0,1,0,1
Q ро,1,о,о
к
»4
Ролхо
соД, X',
о-
^0,0,1,0 ^0,1,1,1
К^ Vv-w C0Av ^ К'
г£>р рО- — ~£>Г
• ' F0,0,j,0 0.1 JА ЦЛ-1 ЛГ
со2Х,
22 у
О \12 у'
х; X
1' ✓ V+l^'
а ö
^ I
СОд-Хд;
к
r0,0rv,0
г1,одо -""1,0,1,0 м,о,;,о
Рис. 2. Граф переходов для стратегии 3 отладки программ
Общее число состояний для графа, представленного на рис. 2, вычисляется по формуле: nc = 3N + n +1.
4. Разработка дифференциальных моделей для стратегий 2 и 3 процессов отладки ПС.
Стратегия 2. Размеченный граф (рис. 1) процессов отладки программ может быть описан системой из nc дифференциальных уравнений, каждое из которых составляется по правилу академика А.Н. Колмогорова
Рк, у,I (<)
dt
= 0(05(1 - k) P—¿o(t i+j +
+ 5(j )5(1 — k )[5(i + j +1 — tf) Pi+i,o, j—i,o (t + + Pi,i, j—1,1 (t i+j ] — 5(i)5(1 — l )5(i + j +1 — tf) Pik, j,o (t — — 5( tf — i — j)5(1 — k) Pik, j,o(t i+j+1 —
— 5(k )5(l)[ Pik , j,1(t +j+1 Pi,o, j ,o(t )(1 j+1 +j+1]
— 5(k )5(1 — l)[ Pik , j,l (t i+j+1 Pi,o, j,l(t )ю/+j+A i+j+1],
f1, если m > o - -
где 5(m) = \ ; i = o,tf; j = o, tf — i; k=o, 1; l=o,1.
[o, если m £ o
Условие нормировки для системы (4) запишем в общем виде
Xi=o X tf=—oP/,o, j,o(t)+Xi=—1X tf=—o—1 Pi,1, j ,1(t) + Xi=—1X tf=—oiPi,1, j,o(t)=1,
а начальные условия зададим в виде
1, если i + k + j +1 = o |0, если i + k + j +1 Ф o 198
(4)
Pik, Jl (o) =
Для определения значений PikJl(?) необходимо решить систему
дифференциальных уравнений (задачу Коши). Имея решение системы (4), возможно получить ряд важных вероятностно-временных показателей процесса испытаний и состояния ПС (показателей целевого эффекта).
Стратегия 3. Граф (рис. 2) процессов отладки программ может быть описан системой из Nc дифференциальных уравнений
dPi,к, у,1 (*)
= -5(N - i - у )5(1 - k)5(1 - 7)Р^,у,0 «i+у+1 -
dt
- 5(к )5(1)[ Р7,1, у ,1 (t 7+у+1 - Р7,0, у,0 а )(1 - ®7+у+1 7+у+1 ] -
- 5(к )5(1 -1)[ Р7к, л (t 7+у+1 - Р7,0, л (t )®7+у+1^ 7+у+1 ] - (5)
- 5(0[ Р,0 ,у,0 (tV7+у Р0,1,у,0 (t+у] + + 5(7)5(1 - 7)5(1 -1)5(1 - к)[р+1,0,у-l,o(t7+у + Р7,1,у-1,1 а7+у ],
1, если т > 0
Р,к, Л (0)
где 5(т) = ^ ; 7 = 0,1; у = 0, N; к=0, 1; 1=0,1.
0, если т £ 0
Условие нормировки для системы (5) запишем в общем виде
Е1=0 Е ^/=07р7',0, у ,0^)+Е у^ 1 р0,1, у ,l(t) + Е у=07 1 р0,1, у',0^) =1,
а начальные условия зададим в виде
1, если 7 + к + у +1 = 0
[0, если 7 + к + у +1 Ф 0
Для определения значений р,к,у,1 (t) решается задача Коши. Имея
решение системы дифференциальных уравнений (5), можно получить ряд важных вероятностно-временных показателей процесса испытаний и состояния ПС (показателей целевого эффекта).
5. Вычисление вероятностно-временных показателей целевых эффектов для стратегий 2 и 3 отладки ПС. Стратегия 2:
вероятность того, что в процессе испытаний было найдено ровно 7 ошибок (сумма найденных, но не исправленных и устранённых ошибок),
щ а) = 5(N - 7)[Е7у=0 Е\=0Р-у,к,у,0 ^) + Е)=0Р-у,1,у,1 ^)] +
+ 5(7 +1 - N^N=0 Рг - у,0,7+у ,0; (6)
математическое ожидание числа найденных ошибок,
^ а) = ЕN=liRi ^); (7)
вероятность того, что в процессе испытаний было устранено (исправлено или отсутствовало) ровно у ошибок,
Ру С) = Е 7=-1-у Е\=0 Рг, к, у ,0(' ) + Е N=-1-ур',1, у ,1 + Р/У - у ,0, у ,0(' ); (8)
199
математическое ожидание числа устраненных ошибок,
Np (0=Е^уу (0; (9)
функция Ц (1) распределения времени устранения не менее 7 ошибок
Ъ ^) = Е М а), 7 = o;N; (10)
время отладки, которое необходимо, чтобы устранить Ытр требуемое число ошибок с требуемой вероятностью Ртр ,
%ТР,Ртр = ^) > Ртр . (11)
Стратегия 3:
вероятность того, что в процессе тестирования было найдено ровно 7 ошибок (сумма найденных, но не исправленных и устранённых ошибок),
Щ а) = 5(1 - 7)[Ек=0 Р0,к ,0,0^) +
+ Р0,1,0,1 (t)] + 5(7)5(N - 0[Е}=0Рохи ^) + Р1,0,7-1,0 ^) + + Po,o,i,o(t)] + 5(7 +1 - N)[Р1,0,N-1,0^) + Р0,0,N,o(t)]; (12)
вероятность того, что в процессе испытаний было устранено (исправлено или отсутствовало) ровно у ошибок,
Ру Ц) = 5(N - 7)[Ек=0 Р0,к,у,0 (') + Р0,1,у ,1«) + Р1,0,у,0 С)] +
+ 5(у+1 - N)Р0,0,N,o(t); (13)
Остальные вероятностно-временные показатели целевых эффектов для стратеги 3 (так же, как и для стратегии 2) отладки ПС вычисляются по формулам (7), (9)-(11)
6. Вычисление комплексного показателя эффективности отладки ПС. Вероятностно-временные показатели (6)-(13) являются частными показателями целевого эффекта (ради чего организуется отладка ПС). При комплексном оценивании эффективности процессов отладки ПС предлагается использовать обобщенный показатель [15], который называется вероятностью достижения цели операции (отладки) и обозначается Рдц . Реализация этого пункта алгоритма с использованием операционного функционала подробно описана в [10, 12] и здесь не дублируется из-за опасения плагиата. Однако, при описании и проведении вычислительного эксперимента постановка задачи оценивания эффективности отладки ПС осуществляется при тех же законах распределений. В [13] вычисление вероятности достижения цели отладки ПС производится двумя методами: с использованием операционного функционала и методом ведущих компонент (МВК). Там же раскрывается сущность МВК [15]. Здесь при проведении вычислительных экспериментов ограничимся методом операционных функционалов.
Таким образом, методика оценивания эффективности отладки ПС состоит из реализации шести предложенных пунктов.
200
Вычислительный эксперимент. Используя формулы (6)—(13) методика позволяет рассчитать частные показатели надежности ПС, а так же вычислить комплексный показатель эффективности процессов отладки ПС Рдц . Покажем эти возможности. Для этого приведем результаты расчета
некоторых частных вероятностно-временных показателей процесса отладки и состояния ПС. Выполним расчеты по формулам (8), (10) для стратегии 2 и по формулам (13), (10) для стратегии 3 при следующих исходных данных. Предполагается, что в ПС содержится N = 10 ошибок со средними длительностями интервалов времени тестирования равными: 1,3; 1,3; 1,3; 1,7; 1,7; 2; 3; 4; 6; 11 (ч), а коэффициент вариации равен V = 0,75. Интенсивность обнаружения ошибки рассчитывается делением единицы на длительность интервала времени тестирования, и является первым начальным моментом аппроксимируемого распределения (математическим ожиданием - Второй начальный момент (дисперсия) находится по коэффициенту вариации: g2 = (vg\) • Распределение времени устранения каждой ошибки имеет экспоненциальное распределение с интенсивностью [х = 0,33. Значения вероятностей обнаружения ошибок ю7, / = указаны на графике. На рис. 3 представлены графики функций распределения времени устранения не менее /, (/=5, 10) ошибок для моделей, реализующих стратегии 1, 2, 3, с целью их сравнительного анализа.
0,9 0,8 0,7 0,6 0,5 0.4 0,3 0,2 0,1 о
/,' / - =5 (ш=1)_
/ / =10 ¡(0=1)
/ / =5 (ш=0,5)
/ / =10 |ш=0,5)
/ / =5 (ш=0Д)
=10(ш=0,1(
" / // X
б
Рис. 3. Функции распределения времени устранения ошибок для стратегий 1 (а), 2 (б), 3 (в)
Эти графики дают возможность провести сравнительный анализ этих стратегий отладки и оценить время отладки Т^Тр рТр , которое требуется для устранения требуемое количества ошибок Итр с требуемой вероятностью Ртр. Время Т^тр рТр устранения ошибок в данном случае существенно зависит от значения вероятностей обнаружения ошибок. Далее в эксперименте получены данные о зависимости вероятности исправления всех N=10 ошибок от различных значений коэффициента вариации V распределения интервалов времени обнаружения ошибок. Эти данные позволяют найти значения требуемого времени отладки по заданной вероятности при V = 0,5; 0,75; 1,0, которое представлено в таблице.
Эти вычисления дают возможность утверждать, что переход от экспоненциальной модели надежности ПС к неэкспоненциальной повышает точность прогноза
Расчет времени отладки по вероятности отсутствия ошибок
Вероятность отсутствия ошибки Требуемое время отладки, ч
Значения коэффициента вариации
v=0,5 v=0,75 v=1
Стратегия 1
0,7 21,0 21,3 21,5
0,8 23,6 23,9 24,4
0,9 28,1 28,4 28,9
0,95 32,2 32,7 33,0
Стратегия 2
0,7 23,0 23,3 23,7
0,8 26,1 26,3 26,5
0,9 30,7 31,0 31,2
0,95 34,8 35,2 35,4
Стратегия 3
0,7 23,2 23,5 23,7
0,8 26,3 26,5 26,7
0,9 31,0 31,3 31,5
0,95 35,1 35,6 35,8
Чтобы показать возможности моделей по исследованию эффективности процессов отладки ПС уточним условия задачи и найдем решение с использованием операционного функционала [10, 12, 13]. Пусть целевой эффект J есть вероятность устранения не менее i программных ошибок является ведущей компонентой и связана со временем отладки т соотношением (10): J= Fi(т) = (т) ^ т = F_1(J) и функция Fi(т) имеет обратную функцию. Законы распределения этих вероятностей (функций распределения) представлены на рис. 3.
/V
Директивное время отладки т от момента начала t до момента ее окончания t , случайно и подчинено равномерному закону распределения
на интервале т G [t',t^] и является генеральной компонентой
т - г'
рт(т) = ^П(т; г\0 + А(т - г"),
где Ах) - индикатор (селектор) полубесконечного интервала [0,го); П(т;г',г") - индикатор интервала [г',г"].
Расходуемые в ходе отладки ресурсы г (денежные средства) пропорциональны времени отладки: г = а т. Цель отладки достигается, если
/V
[(Ф ) п (Г £ ГП) п (т £ тд)] @ и, т.е. одновременно выполняются эти
три случайные события.
Определим закон распределения вектора
Т<3> = < У1,У2,У3 > =< Ф, Г,т> показателя качества результатов операции по формуле
Фу<3> (¥<3>) = Ф<V,т> (< Ф, г, т >) = Р[(Ф >Ф) П (г £ г) п (т £ т)] =
1 г
= Р[(Ъ (т) > Ф) п (ат £ г) п (т £ т)] = Р[(т > - (Ф)) п (т £ -) п (т £ т)] =
а
1 г г 1
= Р[^(Ф) £ т £ шт{-,т} ] = ,т} ] -_1(Ф)].
аа
Для равномерного закона распределения ^ (т) и области допустимых значений вектора У<з>, определяемой декартовым произведение трех множеств [¥) х (-¥, X (-¥, £3], получим формулу для функции распределения вектора У<3> (в данном случае ограничимся первым из восьми слагаемых [10, 12], учитывая значения параметров для расчетов и области допустимых значений вектора У<3>)
г г
Ф(¥<3>) = Ф<ф,г,т>(< Ф, г, т >) =
шт{а -х} -г' Ъ-1(Ф) - г I'-1' г"-1'
Х (14)
х П(Ф; (г'), Ъ (г 0) X П(г; аг', аг") х П(т; г', г "). Рассчитаем вероятность достижения цели отладки Рдц при следующих значениях параметров: дТ = 0,8; гП = 200 [тыс. руб.]; тд = 60 [ч]; а=3
[тыс. руб./ч]; г' = 0 [ч]; г" = 70 [ч].
Для того, чтобы получить значение обратной функции целевого
эффекта 1(ФТ) воспользуемся графиком рис. 3, построенного при .=10,
ю=0,5.
Для стратегии 1 получим
Рдц = Ф<Фдт>(< Фт,гп,тд >) = Ф<Ф,г,т>(<0,8;200; 60 >) =
• /200 шт{— ,60} 24
=-3--— = 0,514.
70 70
203
/
Для стратегии 2
Рдц = Ф<£,г,Т> (< , гп, ТД >) = Ф<^>(< 0,8; 200; 60 >) =
• г 200
шт{—,60} 26
=-3---= 0,486.
70 70
Для стратегии 3
Рдц = Ф<£,Г,Т> (< ^Т, гп, ТД >) = Ф<¿,Г,т> (< 0,8; 200; 60 >) =
Ю(
3
200 ,60} 27
3 ■±7 = 0,471.
70 70
Таким образом, использование в моделях оценки надежности для каждого модуля упрощает задание исходных данных, повышает точность моделирования, позволяет учитывать мощность используемых тестов, искать пути повышения показателей надежности ПС за счет формирования более состоятельных тестов. Аппроксимация произвольных законов распределений интервалов времени обнаружения ошибок распределением Эрланга обобщает марковские модели, повышает точность моделирования и делает модель более универсальной. Методика позволяет рассчитать частные вероятностно-временные показатели надежности ПС, а так же вычислить комплексный показатель эффективности отладки ПС, выработать практические рекомендации по эффективной организации испытаний программ (выбрать стратегию 1, 2 или 3) исходя из наличия или отсутствия необходимых ресурсов, времени, статистических данных, распределить работы между исполнителями проектов.
Список литературы
1. Смагин В. А. Основы теории надёжности программного обеспечения. СПб.: ВКА им. А.Ф. Можайского, 2009. 355 с.
2. Бубнов В.П., Сафонов В.11. Разработка динамических моделей нестационарных систем обслуживания. С'Пб.: Лань, 1999. 64 с.
3. Тырва А.В. Методика задания исходных данных для моделей надежности программных средств железнодорожного транспорта // Известия Петербургского университета путей сообщения, 2010. № 2 (23). С. 250-261.
4. Данилов А.И, Данилов А. А. Нестационарные модели процессов испытаний программных средств в условиях риска // Вторая Всерос. науч.-практ. конф. «Современные проблемы создания и эксплуатации вооружения, военной и специальной техники»: сб. ст. СПб., 2014. С. 199202.
5. Хомоненко А. Д., Данилов А.И., Данилов А. А. Нестационарные модели стратегий испытаний программных средств при вероятностных параметрах обнаружения ошибок // Информационно-управляющие системы. 2015. Вып. 4. С. 50-58.
6. Хомоненко А.Д., Данилов А.И., Данилов А.А. Динамические модели испытаний программных средств // 18 Международная конференция по мягким вычислениям и измерениям: сб. докладов. СПб., 2015. Том 1. С. 239-242.
7. Данилов А.И., Данилов А.А. Динамические модели испытаний программных средств с двумя типами ошибок // Труды военно-космической академии имени А.Ф. Можайского. СПб., 2015. Вып. 647. С. 12-21.
8. Хомоненко А. Д., Данилов А.И., Данилов А. А., Герасименко П.В. Нестационарные модели отладки программ с распределением Кокса длительности исправления ошибок // SCM'2016 Международная конференция по мягким вычислениям и измерениям: сб. докладов. СПб., 2016. Том 1. С.163-166.
9. Хомоненко А.Д., Данилов А.И., Данилов А.А. Динамические модели отладки программ с вероятностным обнаружением ошибок и распределением Эрланга длительности их исправления // Научно-Технический вестник информационных технологий, механики и оптики. 2016. Т. 16. № 4. С. 655-662.
10. Данилов А.И., Данилов А.А. Методика численного анализа эффективности отладки программных средств // Научно-технический вестник информационных технологий, механики и оптики. 2017. Т. 17. № 3. С. 543-551.
11. Данилов А.И., Зубачев А.М., Бугайченко П.Ю. Динамическая модель оценивания качества подготовки и применения сложной технической системы // Труды Военно-космической академии имени А.Ф. Можайского. 2018. № 664. С. 20-26.
12. Данилов А.И., Зубачев А.М., Данилов А.А. Методика численного анализа эффективности подготовки и применения сложной технической системы // Известия Тульского государственного университета. Технические науки. 2018. Вып. 8. С. 186-199.
13. Данилов А.И., Данилов А.А. Алгоритм оценивания эффективности отладки программных средств с распределением Эрланга длительности обнаружения ошибок // Известия Тульского государственного университета. Технические науки. 2019. Вып. 9. С. 209-220.
14. Зубачев А.М., Данилов А.И., Данилов А.А. Динамическая модель оценивания качества подготовки и проведения сеанса управления космическими аппаратами // Вестник академии военных наук. 2019. № 3 (68). [Электронный ресурс] URL: http://www.avnrf.ru/index.php/zhurnal-qvoennyj-vestnikq/arkhiv-nomerov/1162-vestnik-avn-3-2019 (дата обращения: 10.02.2020).
15. Петухов Г.Б., Якунин В.И. Методологические основы внешнего проектирования целенаправленных процессов и целеустремленных систем. М.: ACT, 2006. 504 с.
16. Moranda P., Jelinski Z. Final Repot on Software Reliability Study -McDonnell Douglas Astronautics Company, MADC Report Number 63921, 1972.
17. Musa J., Iannino A., Okumoto K. Software Reliability - Measurement, Prediction, Application, McGraw-Hill, New York, 1987.
18. Littlewood B. The Littlewood-Verrall Model for Software Reliability Compared with Some Rivals, Journal of Systems and Software. 1980. Vol. 1. No. 3 P. 251-258.
19. Chidamber S.R., Kemerer C.F. A Metrics Suite for Object Oriented Design // IEEE Transactions on Software Engineering. 1994. Vol. 20. Iss. 6. P. 476-493.
20. El-Emam K., Melo W., Machado J.C. The Prediction of Faulty Classes Using Object-oriented Design Metrics // Journal of Systems and Software. 2001. Vol. 56. P. 63-75.
21. Cox P.R. A use of complex probabilities in the theory of stochastic processes // Proc. Cambr. Soc. 1955. Vol. 51. P. 313-319.
Данилов Анатолий Исаевич, канд. техн. наук, доцент, vka@mail.ru, Россия, Санкт-Петербург, Военно-космическая академия имени А. Ф. Можайского,
Данилов Андрей Анатольевич, ведущий инженер-программист, Andrey.Danilov.aad@,mail.ru, Россия, Санкт-Петербург, ЗАО «Нокиа Солюшенз энд Нетвокс»
METHOD FOR EFFECTIVENESS EVAL UA TION OF SOFTWARE TESTING STRA TEGIES WITH ERLANG DISTRIBUTION OF ERROR DETECTION DURA TION
A.I. Danilov, A.A. Danilov
Two non-stationary models (strategies) of software errors detection and fixing is offered. Based on these models the methodology for effectiveness evaluation of software testing is developed. This methodology allows comprehensively plan the final software reliability, resources and necessary time at various stages of project implementation. Two-phase Erlang distribution is used to approximate error detection processes. Program testing and errors fixing processes after approximation are represented by Markov service system with discrete set of states and continuous time. The models use the probability of error detection for each software module. Modified graphs and systems of differential equations for two strategies are provided. The solution of these equation systems (Cauchy problems) makes it possible to calculate software reliability indicators (target effect indicators). In complex evaluation of software testing process effectiveness, a generalized indicator is used - the probability of goal achievement (testing) which can be calculated using the method of operating functions or the method of leading components. The calculation results for partial target effect indicators and the complicated efficiency indicator of software testing are presented.
Key words: model, efficiency, software, error, probability, Erlang distribution.
Danilov Anatoly Isaevich, candidate of technological sciences, docent, vka@mail.ru, Russia, Saint-Petersburg, A. F. Mozhaiskiy Military Space Academy,
Danilov Andrey Anatolyevich, senior software engineer, An-drey.Danilov. aad@,mail. ru, Russia, Saint-Petersburg, Nokia Solutions and Networks