Научная статья на тему 'Динамические модели отладки программ с вероятностным обнаружением ошибок и распределением Эрланга длительности их исправления'

Динамические модели отладки программ с вероятностным обнаружением ошибок и распределением Эрланга длительности их исправления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
440
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛЬ / ПРОГРАММНЫЕ СРЕДСТВА / ОШИБКА / ВЕРОЯТНОСТЬ / РАСПРЕДЕЛЕНИЕ ЭРЛАНГА / MODEL / SOFTWARE / ERROR / PROBABILITY / ERLANG DISTRIBUTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хомоненко А.Д., Данилов А.И., Данилов А.А.

Предмет исследования. Исследованы модели надежности и планирования тестирования программных средств с учетом вероятностного характера процессов внесения и поиска ошибок. Моделирование процессов испытаний программ позволяет планировать ресурсы и финальное качество на ранних этапах реализации проектов. Методы. Предложены две усовершенствованные модели испытаний программных средств. Процесс обнаружения ошибок аппроксимируется экспоненциальным законом, а процесс устранения двухэтапным неоднородным распределением Эрланга. Процесс отладки программных средств после аппроксимации представлен канонической марковской цепью (системой) с дискретным множеством состояний и непрерывным временем. При этом предусмотрена возможность использования вероятностей обнаружения ошибок для каждого модуля при их тестировании. Для каждой стратегии приведены модифицированные размеченные графы и системы дифференциальных уравнений, численное решение которых позволяет вычислить вероятностные показатели процессов испытаний и состояния программных средств: вероятности пребывания системы в определенных состояниях, функции распределения времени обнаружения и устранения ошибок, математические ожидания случайных величин, количество обнаруженных или устраненных ошибок. Апробация результатов. Разработанные модели применены при расчете вероятностных показателей реализованных проектов. Приведены результаты расчетов для каждой стратегии. Проведено сравнение стратегий. Определено требуемое время отладки для достижения заданных показателей качества. Результаты расчетов использованы для планирования времени и ресурсов на новые проекты. Практическая значимость. Разработанные модели позволяют учитывать оценки надежности для каждого модуля в отдельности, а аппроксимация двухэтапным неоднородным распределением Эрланга снимает ограничения на использование законов распределений времени устранения ошибок. Это обобщает известные модели, повышает точность моделирования процессов отладки программ и позволяет учитывать состоятельность (мощность) тестов, искать пути повышения показателей надежности программ путем формирования тестов, обнаруживающих ошибки с высокой вероятностью.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хомоненко А.Д., Данилов А.И., Данилов А.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Dynamic software testing models with probabilistic parameters for fault detection and Erlang distribution for fault resolution duration

Subject of Research. Software reliability and test planning models are studied taking into account the probabilistic nature of error detection and discovering. Modeling of software testing enables to plan the resources and final quality at early stages of project execution. Methods. Two dynamic models of processes (strategies) are suggested for software testing, using error detection probability for each software module. The Erlang distribution is used for arbitrary distribution approximation of fault resolution duration. The exponential distribution is used for approximation of fault resolution discovering. For each strategy, modified labeled graphs are built, along with differential equation systems and their numerical solutions. The latter makes it possible to compute probabilistic characteristics of the test processes and states: probability states, distribution functions for fault detection and elimination, mathematical expectations of random variables, amount of detected or fixed errors. Evaluation of Results. Probabilistic characteristics for software development projects were calculated using suggested models. The strategies have been compared by their quality indexes. Required debugging time to achieve the specified quality goals was calculated. The calculation results are used for time and resources planning for new projects. Practical Relevance. The proposed models give the possibility to use the reliability estimates for each individual module. The Erlang approximation removes restrictions on the use of arbitrary time distribution for fault resolution duration. It improves the accuracy of software test process modeling and helps to take into account the viability (power) of the tests. With the use of these models we can search for ways to improve software reliability by generating tests which detect errors with the highest probability.

Текст научной работы на тему «Динамические модели отладки программ с вероятностным обнаружением ошибок и распределением Эрланга длительности их исправления»

НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ июль-август 2016 Том 16 № 4 ISSN 2226-1494 http://ntv.ifmo.ru/

SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS

July-August 2016

Vol. 16 No 4 ISSN 2226-1494

http://ntv.ifmo.ru/en

УДК 004.052.42

ДИНАМИЧЕСКИЕ МОДЕЛИ ОТЛАДКИ ПРОГРАММ C ВЕРОЯТНОСТНЫМ ОБНАРУЖЕНИЕМ ОШИБОК И РАСПРЕДЕЛЕНИЕМ ЭРЛАНГА ДЛИТЕЛЬНОСТИ ИХ ИСПРАВЛЕНИЯ А.Д. Хомоненкоа, А.И. Даниловь, А.А. Данилов0

a Петербургский государственный университет путей сообщения Императора Александра I, Санкт-Петербург, 190031, Российская Федерация

ь Военно-космическая академия имени А.Ф. Можайского, Санкт-Петербург, 197198, Российская Федерация c ЗАО «Нокиа Солюшенз энд Нетвокс», Санкт-Петербург, 197198, Российская Федерация Адрес для переписки: Andrey.Danilov.aad@mail.ru Информация о статье

Поступила в редакцию 01.05.16, принята к печати 10.06.16 doi: 10.17586/2226-1494-2016-16-4-655-662 Язык статьи - русский

Ссылка для цитирования: Хомоненко А.Д., Данилов А.И., Данилов А.А. Динамические модели отладки программ c вероятностным обнаружением ошибок и распределением Эрланга длительности их исправления // Научно-технический вестник информационных технологий, механики и оптики. 2016. Т. 16. № 4. С. 655-662. doi: 10.17586/2226-1494-2016-16-4-655-662

Аннотация

Предмет исследования. Исследованы модели надежности и планирования тестирования программных средств с учетом вероятностного характера процессов внесения и поиска ошибок. Моделирование процессов испытаний программ позволяет планировать ресурсы и финальное качество на ранних этапах реализации проектов. Методы. Предложены две усовершенствованные модели испытаний программных средств. Процесс обнаружения ошибок аппроксимируется экспоненциальным законом, а процесс устранения - двухэтапным неоднородным распределением Эрланга. Процесс отладки программных средств после аппроксимации представлен канонической марковской цепью (системой) с дискретным множеством состояний и непрерывным временем. При этом предусмотрена возможность использования вероятностей обнаружения ошибок для каждого модуля при их тестировании. Для каждой стратегии приведены модифицированные размеченные графы и системы дифференциальных уравнений, численное решение которых позволяет вычислить вероятностные показатели процессов испытаний и состояния программных средств: вероятности пребывания системы в определенных состояниях, функции распределения времени обнаружения и устранения ошибок, математические ожидания случайных величин, количество обнаруженных или устраненных ошибок. Апробация результатов. Разработанные модели применены при расчете вероятностных показателей реализованных проектов. Приведены результаты расчетов для каждой стратегии. Проведено сравнение стратегий. Определено требуемое время отладки для достижения заданных показателей качества. Результаты расчетов использованы для планирования времени и ресурсов на новые проекты. Практическая значимость. Разработанные модели позволяют учитывать оценки надежности для каждого модуля в отдельности, а аппроксимация двухэтапным неоднородным распределением Эрланга снимает ограничения на использование законов распределений времени устранения ошибок. Это обобщает известные модели, повышает точность моделирования процессов отладки программ и позволяет учитывать состоятельность (мощность) тестов, искать пути повышения показателей надежности программ путем формирования тестов, обнаруживающих ошибки с высокой вероятностью. Ключевые слова

модель, программные средства, ошибка, вероятность, распределение Эрланга

DYNAMIC SOFTWARE TESTING MODELS WITH PROBABILISTIC PARAMETERS FOR FAULT DETECTION AND ERLANG DISTRIBUTION FOR FAULT RESOLUTION DURATION A.D. Khomonenkoa, A.I. Danilovb, A.A. Danilov"

a Emperor Alexander I St. Petersburg State Transport University, Saint Petersburg, 190031, Russian Federation ь Mozhayskiy Military Space Academy, Saint Petersburg, 197198, Russian Federation c Saint Petersburg Nokia Solutions and Networks, Saint Petersburg, 197198, Russian Federation Corresponding author: Andrey.Danilov.aad@mail.ru Article info

Received 01.05.16, accepted 10.06.16 doi: 10.17586/2226-1494-2016-16-4-655-662 Article in Russian

For citation: 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. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2016, vol. 16, no. 4, pp. 655-662. doi: 10.17586/2226-1494-2016-16-4-655-662

Abstract

Subject of Research. Software reliability and test planning models are studied taking into account the probabilistic nature of error detection and discovering. Modeling of software testing enables to plan the resources and final quality at early stages of project execution. Methods. Two dynamic models of processes (strategies) are suggested for software testing, using error detection probability for each software module. The Erlang distribution is used for arbitrary distribution approximation of fault resolution duration. The exponential distribution is used for approximation of fault resolution discovering. For each strategy, modified labeled graphs are built, along with differential equation systems and their numerical solutions. The latter makes it possible to compute probabilistic characteristics of the test processes and states: probability states, distribution functions for fault detection and elimination, mathematical expectations of random variables, amount of detected or fixed errors. Evaluation of Results. Probabilistic characteristics for software development projects were calculated using suggested models. The strategies have been compared by their quality indexes. Required debugging time to achieve the specified quality goals was calculated. The calculation results are used for time and resources planning for new projects. Practical Relevance. The proposed models give the possibility to use the reliability estimates for each individual module. The Erlang approximation removes restrictions on the use of arbitrary time distribution for fault resolution duration. It improves the accuracy of software test process modeling and helps to take into account the viability (power) of the tests. With the use of these models we can search for ways to improve software reliability by generating tests which detect errors with the highest probability. Keywords

model, software, error, probability, Erlang distribution

Введение

Информационные технологии в современном мире используются во всех сферах деятельности для повышения производительности и улучшения качества. Требования к надежной и безопасной работе программных средств (ПС) неуклонно повышаются. Отказы ПС могут приводить к большим экономическим потерям, а порой и к катастрофическим последствиям. Экономические затраты на проекты должны укладываться в заранее определенные рамки. Несоблюдение сроков поставок приводят к штрафным санкциям для организаций, разрабатывающих ПС. Эти важные аспекты нашли свое отражение во всех современных стандартах разработки ПС, как российских, так и международных.

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

Для решения этих задач могут быть использованы средства математического моделирования надежности ПС и процессов их разработки (отладки). К настоящему времени создано большое количество различных моделей для оценивания и предсказания надежности ПС на различных этапах их жизненного цикла. Подробный обзор и описание таких моделей дан в [1-6]. Большинство известных моделей, например, Джелинского-Моранды, Дж. Мусы, Литтлвуда [7-9], используют предположение об экспоненциальном характере распределения интервалов времени между обнаружением программных ошибок. Широко известны и другие модели, использующие для описания времени обнаружения и устранения ошибок экспоненциальные законы распределения [1-9], что является серьезным ограничением этих моделей, так как коэффициенты вариации потоков обнаружения и устранения ошибок могут отличаться от единичного значения при внесении некоторой «регулярности» в эти потоки. Следовательно, предположения об экспоненциальных распределениях будут вносить некоторую ошибку в оценку качества ПС и процессов их отладки.

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

Целью настоящей работы является разработка обобщающих динамических моделей процессов (стратегий) испытаний (тестирования и исправления ошибок) ПС, в которых предусматривается возможность учитывать вероятностные параметры обнаружения ошибок при тестировании программ или состоятельность используемых тестов. Для реализации общих (не экспоненциальных) предположений о характере распределения интервалов времени устранения найденных ошибок (с целью повышения точности моделирования) используется аппроксимация по методу Кокса: произвольное распределение случайной величины представляется смесью экспонент.

При задании исходных данных для подобных моделей распространенным подходом является использование собранной статистики уже завершенных проектов. Однако для учета особенностей конкретного проекта широко используются различные программные метрики, характеризующие программный продукт (его структуру, сложность, интерфейсы, факторы разработки и др.). Так, с точки зрения современного объектно-ориентированного программирования целесообразно использовать наборы метрик Чайдамбера-Кемерера и Бансия-Дэвиса [10-12]. Значения метрик собираются из документов проектирования. На основе полученных метрик решается задача классификации модулей. Вероятность наличия ошибки в модуле ю, можно оценить с использованием логистической регрессии и выразить формулой [10, 11]

ю, = 1 {1 + (Р° > ) ,

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

По принятому в [2, 13] подходу модели строятся на результате двоичной классификации модулей ПС на классы, потенциально приводящих к отказу (ю,- =1) и надежных (ю,- = 0). Новизна предлагаемых моделей заключается в отказе от двоичной классификации модулей и использовании в них оценки надежности для каждого модуля, а также в аппроксимации произвольных законов распределений интервалов времени устранения ошибок двухэтапным распределением Эрланга по методу Кокса. Такой подход обобщает известные марковские модели, повышает точность моделирования процессов отладки программ и позволяет учитывать состоятельность (мощность) тестов, искать пути повышения показателей надежности ПС путем формирования тестов, обнаруживающих ошибки с высокой вероятностью.

Модели отладки программ

Кокс показал [14], что произвольное распределение случайной величины можно аппроксимировать смесью экспоненциальных фаз или распределением фазового типа (гиперэкспоненциальным, Эр-ланга или Кокса). Эта аппроксимация позволяет свести случайный процесс к марковскому, получить и решить систему дифференциальных уравнений, которая полностью описывает поведение модели отладки ПС. Такой подход получил широкое применение при исследовании немарковских систем массового обслуживания ([13, 15]). Двухэтапное неоднородное (обобщенное) распределение Эрланга предполагает последовательное прохождение двух экспоненциальных фаз с интенсивностями д и д2. Для корректной аппроксимации произвольной случайной величины двухэтапным распределением Эрланга необходимо, чтобы первые два момента распределений совпадали. Тогда система уравнений принимает вид

— + — = /

д. д2 "

1 2 (1) 111^, —+—+—=и,

Д Д1Д2 Д2

где / = gi /1!, , = 1,2; gi - 1 -й начальный момент исходного распределения.

Решая систему уравнений (1), получим:

/ ±у 4 /2 - 3 /2

2(/12 - /2)

Из (2) следует, что параметры являются вещественными при аппроксимации исходной плотности с коэффициентом вариации 1/-\/2 < V < 1. При использовании аппроксимации в диапазоне 0 < V < 1/-\/2 целесообразно использовать комплексно-сопряженные параметры Ц1 = а + ,'Р, ц2 = а - ,р. Из (2) находим:

а = ¿/2(/? -/2), р = 43/? -4/? -/2). (3)

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

Рассмотрим две стратегии распределения времени и ресурсов между этапами тестирования и исправления найденных ошибок.

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

После аппроксимации представим процессы обнаружения и исправления ошибок марковским процессом с дискретным множеством состояний и непрерывным временем. Диаграмма (размеченный граф) состояний и переходов таких процессов показана на рис. 1.

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

J1 — V 2 "Л /»ч

^1,2 = —^775--- . (2)

ошибки. Произвольное распределение времени устранения всех ошибок аппроксимируется двухэтапным неоднородным распределением Эрланга с интенсивностями экспоненциальных фаз Ц1, ц2, и может быть получено из (1)-(3).

Состояния (г, к, ]) такой системы в каждый момент времени будем характеризовать количеством обнаруженных, но еще не исправленных ошибок г, числом устраненных ошибок (сумма ненайденных и

исправленных ошибок)] (г,] = 0, N ) и фазой к (к=0,1) распределения Эрланга длины интервалов времени исправления ошибок. Вероятности пребывания системы в этих состояниях обозначим Р,,]). Переход системы из состояния (г, к, ]) в состояние (г+1, к, ]) означает, что при тестировании была обнаружена (г++1)-я ошибка. Переход из состояния (г, к,]) в состояние (г, к,]+1) означает, что при тестировании подтверждено отсутствие ошибки или она не найдена. Переход из состояния (г, 0,]) в состояние (г—1, 0, ]+1), означает, что была исправлена (]+1)-я обнаруженная ошибка, устранение которых описывается двухэтапным неоднородным распределением Эрланга с интенсивностями ць ц2.

Рис. 1. Граф переходов для стратегии 1 В таком представлении общее число состояний системы вычисляется по формуле Nc = (М +1)2. Процессы в рассматриваемой марковской цепи описываются системой из Nc дифференциальных уравнений:

= 8С - к)Рк,у (/)ю,.+,X,+, - 8(N - , - ])Р. к,у (/)Х,+у+! --5(,)5(1 - к)р,к,] (/+ 8(к)[рл] (/- РА] (/)д2] + 8(])5(1 - к)[р+1Д,]-,(/)д2 + (4)

+Р,0, ]-1 (/)(1 - ю,+] )Х,+] ] + 5( ] )5(к) Ру> ]- (/)(1 - ю,+] )Х,+],

1, если да > 0

где 5(да) = •! ; г = 0, N ; ] = 0, N - г ; к = 0, 1.

[0, если да < 0

Для каждого момента времени / должно соблюдаться условие нормировки вида

,=01,=0 Рд] С) + ! ,=11,=0 Рх] С) = 1.

Задав начальные условия к системе уравнений в виде [1, если, + к + ] = 0 [0, если г + к + ] ф 0'

можно найти численное решение соответствующей задачи Коши для произвольного значения времени /. Используя решение предложенной системы (4), можно получить ряд важных вероятностных показателей процесса испытаний и состояния ПС:

Рк, ] (0) =

- вероятность того, что в процессе испытаний было найдено ровно / ошибок (сумма найденных, но не исправленных и устраненных ошибок),

(г) = £,=о Р-ж, (0 + £ Р-,+щ-1(0 . (5

- математическое ожидание числа найденных ошибок,

ZN

,=Д (0. (6)

- вероятность того, что в процессе испытаний было устранено (исправлено или отсутствовало) ровно , ошибок,

Р (0 = (О. (7

- математическое ожидание числа устраненных ошибок,

N (0 = £ N1 Р ('). (8)

- функция р(г) распределения времени устранения не менее / ошибок,

« = £ ®+£ N=-1 Р'«; Р'« = £ N=-4,; ()

- время отладки, которое требуется, чтобы устранить NТР ошибок с заданной вероятностью РТР :

Т^,рр = г|^(г) > РТр. (10)

- вероятность безотказной работы Р(г,т) в течение интервала т после испытаний в течение времени

г,

Р (г ,т) = 1 -£ N=1 Ро,о,; (г) (1 - ). (11)

Стратегия 2. Этап тестирования продолжается, пока очередная ошибка не будет обнаружена или определено ее отсутствие. После обнаружения ошибки тестирование приостанавливается, ошибка исправляется. После исправления ошибки или ее необнаружения вновь начинается тестирование. Диаграмма (размеченный граф) переходов, представляющая данную стратегию отладки, приведена на рис. 2. Количество состояний такой системы Мс = 3М+1.

Рис. 2. Граф переходов для стратегии 2

Система дифференциальных уравнений, описывающая приведенный на рис. 2 размеченный граф, в общем виде может быть представлена следующим образом: Р ,. (г)

■ = 5(; (1 -1 ))[Р1А,.-1(г )Ц + Ро,о,.-1(г )(1 - ] - 8(М - ; - ¡М)Ром (г ), + (12)

+8(/ - к)[Ром (г)ю;+Л.+1 - Р1Д, (г;+1 ] + 8(к)[Р1Д, (г;+1 - Рш (г)ц;+1 ],

Важно отметить, что при этой стратегии, кроме общего для всех найденых ошибок двухэтапного неоднородного распределения Эрланга времени устранения ошибок с интенсивностями ц, ц' для аппроксимации, могут использоваться также распределения Эрланга с интенсивностями ц,, ц., зависящими от номера ошибки. Этот факт нашел отражение на рис. 2 и в системе дифференциальных уравнений (12) .

Вычислительный эксперимент

Предложенные модели позволяют не только рассчитать показатели надежности ПС, представленные формулами (5)—(11) для каждой стратегии в отдельности, но и выработать практические рекомендации по организации испытаний программ с целью улучшения характеристик процессов поиска и устранения ошибок. Этого можно достичь сравнением и выбором лучшей для заданного показателя качества стратегии отладки.

Для иллюстрации таких возможностей моделей приведем результаты расчета некоторых показателей процесса испытаний и состояния ПС. Для обеих моделей (стратегий) расчет выполнен при следующих исходных данных. Предполагается, что изначально в ПС содержится М=1о ошибок со средними длительностями интервалов времени тестирования. соответственно равными о,3; о,3; о,3; о,7; о,7; 1; 2; 3;

5; 10 (час). Распределение времени устранения каждой ошибки одинаково и аппроксимируется распределением Эрланга с интенсивностями экспоненциальных фаз р} = р = 1,2375 , ^ = ц2 = 0,591.

Значения вероятностей обнаружения ошибок ю(, / = 1, N, указываются непосредственно на графиках, так как этот параметр для данной работы представляет наибольший интерес. На рис. 3, а, б, представлены графики функций распределения времени устранения (К) не менее /, (/ =5, 10) ошибок для моделей (стратегий) 1, 2 соответственно.

К 0,8 0,6 0,4 0,2

0 10 20 —1=5 (ю=1) — /=10 (ю=1) -••/=5 (ю=0,5)

Т, ч

К 0,8 0,6 0,4 0,2

0

--/=10 (ю=0,5) — /=5 (ю=1) ---/=10 (ю=0,1)

10 20 ■•/=5 (ю=1) -/=10 (ю=1) ••/=5 (ю=0,5)

Т, ч

— /=10 (ю=0,5)

— /=5 (ю=1) ---/=10 (ю=0,1)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

б

Рис. 3. Функции распределения времени для стратегии 1 (а) и 2 (б) Приведенные графики функций дают возможность оценить время отладки Т^ Ртр, которое требуется для устранения заданного количества ошибок Мрр с заданной вероятностью РТР. Время ТN Ртр

устранения всех ошибок в данном случае зависит от выбора стратегии отладки и от значения вероятностей обнаружения ошибок ю(. Стратегия 1 имеет преимущества по указанному показателю. Проведено сравнение двух стратегий по среднему числу п неустраненных ошибок (рис. 4, а, б) при значениях вероятностей их обнаружения ю( = 1,0; 0,5. Эти графики могут использоваться для расчета числа неустраненных в программе ошибок к моменту времен т с момента начала отладки.

п

0,8 0,6 0,4 0,2

0

\\

\\ \ '

10 20 30 40

--стратегия 1 (ю=1)

---стратегия 2 (ю=1)

"I"— —

50 Т, ч

п 0,8 0,6 0,4 0,2

0

Г.

< \ \ Ч

ч

10

20

30 40

• стратегия 1 (ю=0,5)

• стратегия 2 (ю=0,5)

б

"Г1-1 I

50 Т, ч

Рис. 4. Сравнение стратегий при ю( = 1 (а) и ю( = 0,5 (б)

Для обеих стратегий получены данные о зависимости вероятности исправления всех N=10 ошибок от различных значений коэффициента вариации V распределения интервалов времени устранения ошибок. Эти данные позволили рассчитать значения требуемого времени отладки по заданной вероятности при V = 0,25; 0,5; 0,75; 1,0, которые представлены в таблице. Расчеты показывают, что переход от экспоненциальной модели надежности ПС к не экспоненциальным дает преимущество в точности прогноза. Все представленные результаты расчетов показывают, как соотносятся между собой рассмотренные стратегии отладки ПС по приведенным показателям. Окончательный выбор модели производится как с учетом особенностей конкретной стадии их жизненного цикла, так и с учетом вычислительных, экономических, временных, квалификационных и других возможностей заказчиков, пользователей и разработчиков.

а

Вероятность отсутствия ошибки Требуемое время отладки, ч

Значения коэффициента вариации

v=0,25 v=0,5 v=0,75 v=1,0

Стратегия 1

0,8 31,3 31,5 31,9 32,6

0,9 41,2 41,5 41,7 44,4

0,95 48,0 48,3 48,6 51,5

Стратегия 2

0,8 54,4 55,0 55,7 56,6

0,9 61,8 62,4 63,4 64,7

0,95 68,7 69,3 70,4 71,9

Таблица. Расчет времени отладки (ч) по вероятности отсутствия ошибок

Заключение

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

Аппроксимация произвольных (неэкспоненциальных) законов распределений интервалов времени исправления ошибок двухэтапным неоднородным распределением Эрланга по методу Кокса обобщает известные марковские модели, повышает точность моделирования процессов отладки программ и делает предложенные модели более универсальными.

Предложенные модели целесообразно использовать для оценивания текущего уровня показателей процесса испытаний (состояния надежности) и прогнозирования динамики их изменения в процессе испытаний на различных этапах жизненного цикла. На этапе проектирования могут быть получены первые приблизительные прогнозы показателей процесса испытаний и состояния программных средств на основе рассчитанных к этому моменту характеристик сложности проекта и статистики о процессе обнаружения и исправления ошибок, собранных ранее при разработке подобных проектов. Такая оценка может быть уточнена позже на этапе испытания программного обеспечения, когда уже получены более точные данные о вероятностях обнаружения, распределении интервалов времени обнаружения и исправления программных ошибок.

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

Литература

1. Смагин В.А. Основы теории надежности программного обеспечения. СПб.: ВКА им. А.Ф. Можайского, 2009. 355 с.

2. Бубнов В.П., Сафонов В.И. Разработка динамических моделей нестационарных систем обслуживания. СПб.: Лань, 1999. 64 с.

3. Данилов А.И., Данилов А.А. Нестационарные модели процессов испытаний программных средств в условиях риска // II Всерос. науч.-практ. конф. «Современные проблемы создания и эксплуатации вооружения, военной и специальной техники». СПб., 2014. С. 199-202.

4. Хомоненко А.Д., Данилов А.И., Данилов А.А. Нестационарные модели стратегий испытаний программных средств при вероятностных параметрах обнаружения ошибок // Информационно-управляющие системы. 2015. № 4 (77). С. 50-58.

5. Хомоненко А.Д., Данилов А.И., Данилов А.А. Динамические модели испытаний программных средств // Международная конференция по мягким вычислениям и измерениям. 2015. Т. 1. Секции 1-3. С. 239-242.

6. Данилов А.И., Данилов А.А. Динамические модели испытаний программных средств с двумя типами ошибок // Труды Военно-космической академии им. А.Ф. Можайского. 2015. № 647. С. 12-21.

7. Moranda P., Jelinski Z. Final Repot on Software Reliability Study. McDonnell Douglas Astronautics Company, MADC Report Number 63921, 1972.

8. Musa J.D., Iannino A., Okumoto K. Software Reliability: Measurement, Prediction, Application. NY: McGraw-Hill, 1987.

9. Littlewood B. The Littlewood-Verrall model for software reliability compared with some rivals // Journal of Systems and Software. 1980. V. 1. N 3 P. 251-258. doi: 10.1016/0164-1212(79)90025-6

10. Chidamber S.R., Kemerer C.F. A metrics suite for object oriented design // IEEE Transactions on Software Engineering. 1994. V. 20. N 6. P. 476-493. doi: 10.1109/32.295895

11.El Emam K., Melo W., Machado J.C. The prediction of faulty classes using object-oriented design metrics // Journal of Systems and Software. 2001. V. 56. N 1. P. 63-75.

12.Basili V.R., Briand L.C. A validation of object-oriented design metrics as quality indicators // IEEE Transactions on Software Engineering. 1996. V. 22. N 10. P. 751-761. doi: 10.1109/32.544352

13.Бубнов В.П., Тырва А.В., Бурцева К.И. Нестационарная модель надежности программных средств с распределением Кокса длин интервалов времени исправления ошибок // Вестник Всероссийского научно-исследовательского и проектно-конструкторского института электровозостроения. 2010. № 1. С. 143-152.

14. Cox D.R. A use of complex probabilities in the theory of stochastic processes // Mathematical Proceedings of the Cambridge Philosophical Society. 1955. V. 51. N 2. P. 313-319. doi: 10.1017/S0305004100030231

15.Khomonenko A.D., Bubnov V.P. A Use of Coxian distribution for iterative solution of M/G/n/R<® queueing systems // Проблемы управления и теории информации. 1985. Т. 14. № 2. С. 143-153.

Хомоненко Анатолий Дмитриевич

Данилов Анатолий Исаевич

Данилов Андрей Анатольевич

доктор технических наук, профессор, заведующий кафедрой, Петербургский государственный университет путей сообщения Императора Александра I, Санкт-Петербург, 190031, Российская Федерация, khomon@mail.ru

кандидат технических наук, доцент, доцент, Военно-космическая академия имени А.Ф. Можайского, Санкт-Петербург, 197198, Российская Федерация, Andrey.Danilov.aad@mail.ru ведущий инженер-программист, ЗАО «Нокиа Солюшенз энд Нетвокс», Санкт-Петербург, 197198, Российская Федерация, Andrey.Danilov. aad@mail.ru

Anatoly D. Khomonenko Anatoly I. Danilov Andrey A. Danilov

D.Sc., Professor, Head of Chair, Emperor Alexander I St. Petersburg State Transport University, Saint Petersburg, 190031, Russian Federation, khomon@mail.ru

PhD, Associate Professor, Associate Professor, Mozhayskiy Military Space Academy, Saint Petersburg, 197198, Russian Federation, Andrey.Danilov.aad@mail.ru

Senior software engineer, Saint Petersburg Nokia Solutions and Networks, Saint Petersburg, 197198, Russian Federation,

Andrey.Danilov. aad@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.