Серия История. Политология. Экономика. Информатика. 2013. №22 (165). Выпуск 28/1
УДК 004.519.217
УЧЕТ ФАКТОРА ВТОРИЧНЫХ ДЕФЕКТОВ ПРИ ОЦЕНКЕ НАДЕЖНОСТИ ПРОГРАММНЫХ СРЕДСТВ
х) Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», г. Харьков, Украина
В.С. ХАРЧЕНКО1 А. А. РУДЕНКО2 О.Н. ОДАРУЩЕНКО3 Е.Б. ОДАРУЩЕНКО2
В статье рассмотрена проблема учета вторичных программных дефектов при оценке надежности программных средств. Проанализированы существующие модели оценки надежности программных средств с точки зрения возможности их использования для оценки надежности программных средств с учетом вторичных дефектов. Предложен метод оценивания надежности программных средств с учетом вторичных дефектов.
2) Полтавский национальный
Ключевые слова: программное средство, надежность, вторичный дефект программных средств, интенсивность проявления дефектов, модели оценки надежности программных средств.
технический университет имени Юрия Кондратюка, Украина
3) Научно-производственное предприятие «Радий», г. Кировоград, Украина
e-mail:
Требования к качеству и надежности программных средств (ПС) определяются международными стандартами ISO/IEC 12207, ISO/IEC 9126, ISO/IEC 25010 и др., что находит отображение практически на всех этапах жизненного цикла ПС.
Надежность ПС определяется как набор составляющих, относящихся к «способности программного обеспечения сохранять свой уровень качества функционирования при установленных условиях за установленный период времени»1.
Надежность ПС является наиболее важной подхарактеристикой качества, наряду с функциональностью, практичностью, эффективностью, сопровождаемостью, мобильностью. Исходя из этого, важной задачей является не только обеспечение высокой надежности ПС, но и ее правильная оценка, что обеспечит минимизацию затрат или рисков в ходе применения их по назначению.
Существует множество моделей оценки надежности ПС (МНПС), группируемых в соответствии с рассматриваемыми в них параметрами по различным классификационным признакам. Существует также множество классификаций МНПС: Хетча, Гоэла, По-лонникова-Никандрова, Фатуева, Благодатских и др2. Предложен вариант матричной классификации моделей роста надежности ПС3.
Во всех моделях оценки надежности ПС прямо или косвенно присутствует величина, характеризующая надежность, - дефект (fault). Дефект является основной характеристикой для нахождения показателей при количественной оценке надежности: средней
1 ISO/IEC 9126-1: 2001. Software engineering - Product quality - Part 1: Quality model.
2 Goel A.L. Software Reliability Models: Assumptions, Limitations, and Applicability / Goel A.L. // IEEE Trans. Software Eng., vol. 11, no. 12, 1985. - P. 1411-1423; Haag S.Quality Function Deployment. Usage in Software Development / Haag S., Raja H.K., Sekade L.L. // Comm. оf ACM.- Oct., 2002. - P.35-40; Фатуев В.П. Надежность автоматизированных информационных систем: Учебное пособие / / В.П. Фатуев, В.И. Высоцкий, В.И. Бушин-ский - Т.: ТГУ, 1998. - 104 с.; Стандартизация разработки программных средств: Учеб. пособие / В.А. Благодатских, В.А. Волнин, К.Ф. Поскакалов; Под ред. О.С. Разумова. - М.: Финансы и статистика, 2005. - 288 с.; Полонников Р.И. Методы оценки показателей надежности программного обеспечения / Р.И. Полонников,
А.В. Никандров. - СПб.: Политехника - 1992. - 78 с.
3 Kharchenko V. The Method of Software Reliability Growth Model Choice Using Assumption Matrix / Kharchenko V., Tarasyuk O., Sklyar V., Dubnitsky // Proceedings of the 26th Conference Computer Software and Applications, Oxford, England, 26-29 August, 2002. - P.541-547.
Введение
Серия История. Политология. Экономика. Информатика.
2013 № 22 (165). Выпуск 28/1
наработки на отказ, вероятности безотказной работы, числа неустраненных программных дефектов, вероятности отсутствия дефектов и др.
Большое количество моделей оценки надежности ПС вызвано разнообразием программных проектов и применяемых технологий, что не позволяет в полной мере отображать реалии проектирования, верификации и сопровождения конкретного ПС. Одной из наиболее важных задач является нахождение рационального сочетания между системой допущений, принятой для соответствующей модели, и уровнем сложности ее математического описания. Существует подход к выбору МНПС, основанный на анализе матриц допущений1.
В ходе проведенных исследований выявлены основные недостатки формирования допущений для известных моделей:
- предполагается, что обнаруженные (первичные) дефекты устраняются, при этом новые (вторичные) не вносятся, или о возможности внесения дефектов во время устранения обнаруженных речь не идет вообще;
- предполагается экспоненциальный (или другой) закон распределения длительностей временных интервалов обнаружения дефектов и не учитывается время, которое затрачивается на их устранение и др.
Актуальность проблемы вторичных дефектов возрастает с увеличением требований к сложности программного обеспечения. Так, если 30 лет назад доля вторичных дефектов оценивалась в среднем от 2 до 9%2, то в настоящее время она составляет более 25%3, что подтверждается мнением экспертов-разработчиков программного обеспечения4.
Существует два подхода к оценке надежности ПС с учетом вторичных дефектов.
Первый состоит в модификации существующих МНПС путем введения величины, характеризующей вторичные дефекты5. Второй подход, предложенный Д.А. Маевским, строится на основе теории динамики программных систем, где показана и использована аналогия между термодинамической теорией переноса и структурными процессами в программных системах, что позволяет проводить моделирование их надежности6.
Цель статьи - рассмотреть аспекты повышения точности оценки надежности ПС на основе учета фактора вторичных дефектов.
1. Классификация вторичных дефектов программных средств.
Сценарии внесения и устранения дефектов
Исследованы работа и сопровождение учетной информационной системы «Агро-Комплекс»7, которая служит для автоматизации всех видов учета на предприятиях сельского хозяйства. На основе экспериментальных данных сделан вывод, что всплески проявления дефектов соответствуют периодам времени, когда происходило значительное обновление структурных параметров системы8. Одной из причин данного отклонения можно считать внесенные дефекты. Кроме того, следует учесть возможность появления дефектов при взаимодействии первичной и обновленной частей ПС.
Таким образом, вторичные дефекты классифицируются следующим образом:
- дефекты, вносимые в процессе устранения первичных дефектов;
1 Kharchenko V. Указ. соч.
2 Тейер Т. Надежность программного обеспечения: Пер. с англ. / Т. Тейер, М. Линов, Э. Нельсон. -М.: Мир, 1981. - 323 с.
3 Совершенный код. Мастер-класс. Пер. с англ. / С. Макконнелл - М.: Издательско-торговый дом «Русская Редакция» ; СПб.: Питер, 2005. - 896 с.
4 Маєвський Д.А. Структурна динаміка програмних систем та прогнозування їх надійності при наявності вторинних дефектів. / Д.А Маєвський / / Радіоелектронні і комп’ютерні системи. - 20l0. - №.3 - С. 103-Ю9.
5 Одарущенко О.Н. CASE-оценка критических программных систем. В 3-х томах. Том 2. Надежность / О.Н. Одарущенко, В.С. Харченко, Д.А. Маевский, Ю.Л. Поночовный, А.А. Руденко, Е.Б. Одарущенко, С.А. Засуха, В.О. Жадан, С.В. Живило / Под ред. Харченко В.С. - Х.: Нац. аэрокосмический ун-т «Харьк. авиац. ин-т», 2012. - 292 с.; Одарущенко О.Н. Учет вторичных дефектов в моделях надежности программных средств / О.Н. Одарущенко, А.А. Руденко, В.С. Харченко // Математичні машини і системи. - 20l0. - № 1. -С. 205-217.; Руденко А.А. Модели оценки надежности программных средств с учетом недетерминированного числа вторичных дефектов / А.А. Руденко, О.Н. Одарущенко, В.С. Харченко // Радіоелектронні і комп’ютерні системи. - 20l0. - № 6 (47). - С. 197-203.
6 Маєвський Д.А. Указ. соч.
7 Маєвський Д.А. Інформаційна система «Агрокомплекс» для бухгалтерського та оперативного обліку у сільському господарстві / Д.А. Маєвський, Т.Я. Тінтулова, В.М. Антощук. // Зб. Аграрний вісник нричорно-мор’я. Технічні науки. 2009, - Вип. 48, С. 151-l56.
8 Маєвський Д.А. Структурна динаміка програмних систем...
154
НАУЧНЫЕ ВЕДОМОСТИ
- дефекты, вносимые при обновлении (в той части ПС, которая обновляется -«условно вторичные дефекты»);
- дефекты взаимодействия первичной и обновленной частей ПС.
На основе приведенной классификации путем перебора возможных вариантов разработаны сценарии внесения и устранения дефектов, характеризующие процессы обнаружения, устранения, внесения дефектов, а также, неустранения обнаруженных дефектов:
N N.,
N 2- N. + К.,
N 2- N. + Л N.,
N Е- N. + К. +Л N.,
(1)
М, =
N2- N + К ,
*
N 2- N. + К. +А N.,
* Е?
N 2- N. + К. + К.В,
* Е?
N 2- N. + К. + К, +А N.
где М. - число дефектов после . -той операции по устранению выявленных дефектов;
N 2 - число дефектов в исходной программе;
N. - число обнаруженных дефектов;
К. - число дефектов, внесенных в процессе устранения обнаруженных дефектов;
Л N. - число неустраненных дефектов (из числа выявленных);
К. * - число дефектов, внесенных в процессе обновления программы;
К.в - число дефектов, связанных с взаимодействием первичной и обновленной частей ПО1.
Выбран сценарий для дальнейшего исследования, базирующийся на соотношении М. = N2 - N. + К.. Выбор сделан исходя из анализа допущений МНПС, а также, возможности исследования в системе допущений, принятых для них. Кроме того, учитывалась возможность и сложность применения математического аппарата, с помощью которого находятся параметры моделей.
2. Анализ МНПС на предмет возможности их использования при учете фактора вторичных дефектов программных средств
Одним из параметров, с помощью которого проводится определение показателей надежности ПС, есть интенсивность проявления дефектов (функция риска). Исходя из этого, был проведен выбор моделей для анализа возможности их использования при учете фактора вторичных дефектов (табл. 1). Проанализированы основные допущения моделей: вид распределения между моментами проявления дефектов, интенсивность обнаружения дефектов, количество обнаруженных и устраненных дефектов на временном интервале тестирования, аналитическое выражение функции риска.
Для количественного анализа проявления вторичных дефектов, в первую очередь, проанализированы функции риска моделей.
Геометрические модели. Аналитическое выражение функции риска
ДО = БК'-1, (2)
где Б = Я(0) - исходное значение функции риска, К - знаменатель геометрической прогрессии (0 < К < 1). Прибавление к данному выражению слагаемого пвн, характеризующе-
1 Одарущенко О.Н. CASE-оценка критических программных систем...; Харченко В.С. Анализ сценариев и определение параметров для оценки надежности программных средств с учетом вторичных дефектов /
В.С. Харченко, О.Н. Одарущенко, А.А. Руденко, Е.Б. Одарущенко // Системи управління, навігації та зв’язку. -2011. - Випуск 2 (18). - С. 273-280.
Серия История. Политология. Экономика. Информатика.
2013 № 22 (165). Выпуск 28/1
го число вторичных дефектов, не соответствует размерности; прибавление слагаемого в степень числа K уменьшает значение функции риска, что не соответствует реалиям.
Модель Шнайдевинда. Аналитическое выражение функции риска
Я(t) = Bexp (-Ki), (3)
где B > 0 и K > 0 - параметры модели, i - порядковый номер интервала.
Функцию риска можно модифицировать следующим образом:
Л(t) = Bexp (-K (i + nBH)) (4)
или
Ц t) = Bexp ( -Ki + nBH ). (5)
Однако в модели предполагается разная степень влияния на процесс предсказания дефектов, в зависимости от времени.
Существуют три подхода к предсказанию дефектов.
Первый подход используется в случаях, когда данные всех интервалов необходимы для предсказания будущего состояния ПС, что отражает равнозначность данных из всех интервалов.
Второй - когда есть основания считать, что произошло некоторое существенное изменение в процессе обнаружения дефектов и для предсказания требуются только данные последних m - s +1 интервалов. Это свидетельствует о том, что более ранние данные оказывают меньшее влияние (или не оказывают вообще) на прогнозирование надежности.
Третий подход является переходным между первыми двумя и отображает процесс выявления дефектов на более поздних стадиях.
Таким образом, учет рассмотренных выше подходов не позволяет получить однозначную оценку надежности ПС с учетом вторичных дефектов, что свидетельствует о нецелесообразности использования данной модели. Кроме того, нужно учитывать возможность обнаружения на интервале тестирования более одного дефекта, что недостаточно согласует величины i и nBH .
Модель Дюэна. Общее число дефектов, обнаруженных к произвольному моменту времени, распределено по закону Пуассона со средним значением m (t), где m (t) = atp.
Отсюда следует, что
m(t) atр ^
t t
Числитель выражения (6) характеризует ожидаемое число дефектов за время t, а знаменатель - общее время тестирования t .
Величина nBH трудно согласуется с параметром модели р. Для реализации этой модели требуется знание моментов проявления дефектов, то есть временная характеристика, что не согласуется с количественной характеристикой nBH.
Таким образом, показана невозможность использования геометрических моделей, модели Шнайдевинда и модели Дюэна для оценки надежности ПС с учетом вторичных дефектов.
Сравнение функций риска и модифицированных функций риска других МНПС представлено в табл. 2. Эти модели имеют аналогичные аналитические выражения функций риска и содержат общие для всех параметры: K - коэффициент пропорциональности; B - исходное (неизвестное) число оставшихся в ПС дефектов.
Функции риска моделей, представленных в табл. 2, легко модифицируются прибавлением слагаемого nBH, что дает основание допускать возможность их использования для оценки надежности с учетом вторичных дефектов.
Дальнейшее исследование предусматривает анализ допущений, принятых для моделей, а также, анализ непосредственно самих функций риска моделей Джелинского-Моранды, простой экспоненциальной модели, Шика-Уолвертона и Липова.
156
НАУЧНЫЕ ВЕДОМОСТИ
Таблица 1
Анализ МНПС на предмет возможности их использования с учетом вторичных дефектов
Модель Распределение между моментами обнаружения дефектов Интенсивность обнаружения дефектов Количество обнаруженных дефектов на интервале Количество устраненных дефектов на интервале в о ток е еф е д е s н енуж р а н б О Аналитическое выражение функции риска (возможность модификации с учетом фактора вторичных дефектов)
Джелинско- го-Моранды const пропорционально текущему числу дефектов І І равноверо- ятно +
Простая экспоненци- альная экспоненциальное пропорционально текущему числу дефектов І І равноверо- ятно +
Шика- Уолвертона пропорционально времени тестирования после обнаружения последнего дефекта пропорционально текущему числу дефектов І І равноверо- ятно +
Липова Пуассона постоянная на всем интервале тестирования f n. і равноверо- ятно +
Геометриче- ские экспоненциальное геометрическая прогрессия І І неравнове- роятно -
Шнайдевин- да неоднородный процесс Пуассона с экспоненциально уменьшающимся уровнем обнаружения дефектов пропорционально текущему числу дефектов ni ni неравнове- роятно +
Дюэна Пуассона Зависит от моментов времени 1 проявления дефектов І І равноверо- ятно -
Из табл. 1 следует, что по четырем позициям из пяти основные допущения моделей Джелинского-Моранды, простой экспоненциальной модели, Шика-Уолвертона совпадают, за исключением вида распределения между моментами обнаружения дефектов, что в данном исследовании не является принципиальным. Преимущество данных моделей над моделью Липова состоит в сравнении следующих показателей:
- интенсивность обнаружения дефектов пропорциональна текущему числу дефектов против постоянной на всем интервале тестирования;
- количество обнаруженных (один) и устраненных дефектов (один) на интервале равно против ^ и п (/. > п) соответственно.
Таким образом, модель Липова использовать менее целесообразно, чем три другие рассматриваемые модели.
Таблица 2
Анализ функций риска и модифицированных функций риска МНПС
Модель Функция риска я а ан а нк ас ви ор к * и иц цик # і иу Мо Параметры функций риска
Джелинского- Моранды 1 т 03 н Л II в 1 1 і Н ^ - произвольная точка времени между обнаружением г — 1 и г -го дефекта
Простая экспоненциальная Л( г) = к (в - N (г)) Л( г) = к (в - N (г) +«вН) N (^) - число обнаруженных к моменту времени ? дефектов
Шика- Уолвертона Л( гі) = К (В - (і-1)) X Л( г) = к (в - (і-і) +ивН) х X - время тестирования, прошедшее от момента обнаружения г — 1 -го дефекта до текущего момента ^
Липова Л(г) = к (в -^), г,-і ^г ^г, Л(г) = к (в -^ +пвН) г—1 т . - общее 3 =1 число скорректированных к моменту дефектов, а ^ - время конца г -го интервала тестирования
Учитывая практически полное соответствие основных допущений моделей Дже-линского-Моранды, простой экспоненциальной модели и Шика-Уолвертона, дальнейший анализ направлен на уровень сложности математического аппарата при их использовании. В табл. 2 (4 столбец) показаны преимущества модели Джелинского-Моранды перед другими моделями: функция риска модели Джелинского-Моранды не содержит кумулятивной характеристики обнаруженных дефектов (в отличие от простой экспоненциальной модели) и характеристики, определяющей время тестирования (в отличие от модели Шика-Уолвертона).
Выбор для исследования модели Джелинского-Моранды продиктован, в первую очередь, меньшей сложностью математического аппарата по сравнению с другими вышеупомянутыми моделями при других условиях (допущениях), не имеющих концептуальных преимуществ. Далее показана невозможность непосредственного нахождения распределения вторичных дефектов на основе модифицированных моделей, что не исключает вариант его нахождения при комплексировании по входным данным с моделями других классификационных признаков1.
3. Прогнозирование проявления вторичных дефектов программных средств по статистическим данным обнаружения дефектов
Сложности аналитического определения числа или распределения вторичных дефектов обуславливают необходимость постановки и решения задачи прогнозирования их проявления по статистическим данным обнаружения дефектов, полученным в результате тестирования или эксплуатации ПС. Основной принцип прогнозирования вторичных дефектов состоит в нахождении флуктуаций эмпирического распределения данных обнаружения дефектов от теоретического, при этом, введением соответствующего коэффици-
1 Руденко А.А. Указ. соч.
ента учитываются факторы, характеризующие этап тестирования или эксплуатации (вероятность проявления дефектов равно как и внесение вторичных дефектов более вероятно на раннем этапе)1. Предполагается, что причиной отклонения эмпирических данных от теоретических являются вторичные дефекты, причем их количество определяется разностью модуля величины отклонения эмпирического значения от теоретического и среднего квадратического отклонения, умноженного на коэффициент ------1---, где п - число
п +1 — х
интервалов тестирования (число обнаруженных дефектов), х - порядковый номер интервала (обнаруженного дефекта). Результат округляется до целых чисел.
Теоретическое распределение числа дефектов получаем на основе определения уравнения линии регрессии по эмпирическому распределению числа дефектов.
В зависимости от вида линии регрессии возможны некоторые нюансы учета (или
неучета) вторичных дефектов. Рассмотрен случай линии регрессии вида у = а + —
х
(а > 0, — > 0 )2. Очевидно, что при любых х > 0 у > а , при увеличении х у асимптотически приближается к а . Поэтому на некоторых поздних интервалах тестирования (эксплуатации) возможно прогнозирование вторичного дефекта при теоретическом значении большем соответствующего эмпирического. В этих случаях учитывать вторичный дефект не нужно.
Использование корреляционного анализа позволяет получить другие, отличные от наиболее часто применяемых экспоненциального и распределения Пуассона, распределения, характеризующие зависимость числа дефектов от времени.
Исследования показали, что примерно в пяти процентах случаев при прогнозировании вторичных дефектов по статистическим данным могут возникать проблемы при эмпирическом определении линии регрессии или некоррелированности эмпирических и теоретических данных. Это объясняется неслучайными факторами внесения дефектов.
4. Определение показателей надежности ПС при учете фактора вторичных дефектов
Учет вторичных дефектов позволяет уточнить интенсивность проявления дефектов и использовать полученный параметр для нахождения функции готовности. Каждый прогнозируемый вторичный дефект увеличивает на один число внутренних фрагментов. Проведенные расчеты для значения функции готовности при разном числе внесенных дефектов и соответствующие расчеты средствами имитационного моделирования показали, что среднее отклонение по абсолютной величине одних результатов от других соответствует многофрагментной модели для случая, который отвечает спрогнозированному методами корреляционного анализа числу вторичных дефектов.
Определение показателей надежности ПС при учете фактора вторичных дефектов содержит взаимосвязанные этапы исследования: анализ и модификация МНПС, разработка сценариев внесения и устранения дефектов, выбор среди них базового сценария, который соответствует модифицированной МНПС, прогнозирование вторичных дефектов с использованием корреляционного анализа, уточнение величины интенсивности проявления дефектов, нахождение функции готовности средствами многофрагментного и имитационного моделирования, сравнение полученных результатов (рисунок).
Выводы
Результатом проведенных исследований является разработанный метод оценки надежности ПС с учетом вторичных дефектов, базирующегося на использовании модифицированной модели Джелинского-Моранды и процедуре прогнозирования вторичных дефектов по статистическим данным.
Усовершенствованы вероятностные МНПС на основе учета параметров вторичных дефектов путем модификации функций риска этих моделей, что позволяет повысить точность оценки показателей надежности.
1 Харченко В.С. Указ. соч.
2 Там же
Рис. Последовательность оценки надежности ПС с учетом вторичных дефектов
Разработан метод прогнозирования вторичных дефектов по статистическим данным обнаружения дефектов на основе корреляционного анализа, что позволяет более точно определять параметры для оценки надежности ПС.
Данные методы апробированы при оценивании надежности ряда систем1, в ходе которого была получена более высокая точность, определяемая отклонением полученных аналитических моделей от трендов дефектов ПС.
Дальнейшие исследования могут быть направлены на использование предложенных моделей для оценивания готовности систем с учетом процессов восстановления, а также, исследовании возможностей совместного использования предложенного метода и метода, основанного на теории динамики программных систем2.
FACTORS OF SECONDARY FAULTS IN OF SOFTWARE RELIABILITY ASSESSING
The paper considers the problem of accounting of the secondary software faults in the process of software reliability assessing. The existed models of software reliability are analysed in point of view of their use taking into account the secondary faults. The method of software reliability estimation taking into account the secondary faults is suggested.
i) National aerospace university. Keywords: software, reliability, secondary software fault, failure rate,
N.E. Zhukovsky named after software reliability model
N.E. Zhukovsky «KhAI», Kharkov
V.S. KHARCHENKO1 A. A. RUDENKO2 O.N. ODARUSHCHENKO3 E.B. ODARUSHCHENKO2
2) Poltava national technical university named after Yuri Kondratyuk
3) Research and production compa-ny«Radiy», Kirovograd
e-mail:
1 Одарущенко О.Н. CASE-оценка критических программных систем...
2 Mаєвський Д.А. Структурна динаміка програмних систем.