Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров Суслин, Антон Александрович

Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров
<
Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Суслин, Антон Александрович. Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров : диссертация ... кандидата технических наук : 05.13.11 / Суслин Антон Александрович; [Место защиты: Тул. гос. ун-т].- Тула, 2011.- 153 с.: ил. РГБ ОД, 61 12-5/463

Содержание к диссертации

Введение

1 Анализ методов оценки надежности программного обеспечения

1.1 Надежность как аспект качества разработки

1.2 Метрики программного обеспечения как инструмент исследования надежности

1.3 Обзор моделей надежности программного обеспечения

1.4 Основные недостатки существующих моделей надежности ПО

1.5 Выбор математического аппарата для решения задачи оценки надежности ПО ТС Выводы по главе 1

2 Математический аппарат оценки надежности программного обеспечения с использованием байесовских сетей доверия

2.1 Основные положения байесовского подхода к статистическому моделированию

2.2 Генерация структуры БСД по экспериментальным данным .

2.3 Пропагация (распространение) свидетельств в модели БСД

2.4 Возможность использования существующих моделей надежности ПО совместно с предложенным методом Выводы по главе 2

3 Методика оценки надежности программного обеспечения систем тренажеров с использованием байесовских сетей доверия

3.1 Общая схема работы методики оценки надежности ПО с использованием БСД

3.2 Разработка алгоритма методики оценки надежности ПО с использованием БСД

3.3 Методика формирования массива статистических данных программного проекта

3.4 Особенности применения методики для различных видов ПО

3.5 Сравнение разработанной методики с существующими моделями надежности ПО , Выводы по главе 3 V

4 Экспериментальное исследование разработанной методики оценки надежности по ТС

4.1 Разработка программного комплекса для постановки эксперимента

4.2 Описание объекта эксперимента

4.3 Сбор статистической информации по исследуемому программному продукту

4.4 Построение структуры БСД по экспериментальным данным

4.5 Проверка работоспособности и эффективности разработанной методики

4.6 Дополнительная апробация результатов работы

Выводы по главе 4

Заключение

Список использованных источников список используемых сокращений приложения

Введение к работе

Актуальность работы. Организация управления механотронной системой тренажеров связана с решением задач автоматизированной обработки данных, поэтому одну из ведущих ролей в системе управления играет вычислительная среда, под которой понимаются программно-технические средства обработки данных. Она обеспечивает реализацию сложных процедур с использованием специальной информации высокой сложности — от создания виртуального подвижного наземного объекта, подобного реальному, до получения информации с датчиков сенсорной подсистемы и расчета управляющих воздействий на приводы механотронной системы, обеспечивающих эффект подобия при механическом взаимодействии с оператором.

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

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

Надежность входит в группу характеристик модели качества программного обеспечения (ПО), закрепленную в международном стандарте ISOAEC 9126-1:2001 «Software engineering - Product quality - Part 1: Quality model», на уровне с функциональностью, удобством использования, эффективностью, сопровождаемостью и переносимостью. Жесткая конкуренция на рынке разработки ПО заставляет производителей официально подтверждать уровень качества процессов разработки продуктов. Как правило, для таких целей используется модель СММ, согласно которой организации обязаны накапливать статистические данные о процессе разработки программных продуктов и результатах их эксплуатации, а также использовать эти данные для повышения качества ПО. Однако до сих пор общепринятой методики их сбора, обработки и анализа не существует. Таким образом, задача оценки надежности ПО, является существенной частью общей проблемы оценки его качества.

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

Широко распространенным инструментом повышения надежности ПО является его тестирование, однако, несмотря на большое количество высококачественных методик его реализации, даже крупномасштабное тестирование выявляет не более 75% всех ошибок в проекте. Более того, тестирование узкоспециализированного ПО ТС зачастую является весьма затруднительным в силу указанных выше причин, определяющих требования к надежности функционирования.

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

Областью исследований является оценка качества программных систем, объектом исследования — программное обеспечение, предметом исследования — методики и алгоритмы оценки его надежности.

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

Для достижения указанной цели были решены следующие задачи:

исследование существующих методик оценки надежности ПО ТС, их классификация и оценка возможности применения по отношению к цели диссертационной работы;

исследование характеристик программных проектов - метрик и возможности их использования для оценки надежности ПО ТС;

выбор статистического метода, позволяющего оценить вероятность сбоев в программном проекте, основываясь на доступных разработчику данных;

разработка методики оценки надежности ПО ТС, основанной на выбранном статистическом методе;

разработка алгоритмов применения методики оценки надежности ПО ТС, их реализация в виде программного комплекса;

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

На защиту выносятся следующие положения диссертации:

- модернизированный алгоритм установления взаимосвязей показателей
ПО для формирования структуры модели байесовских сетей доверия (БСД);

,. 5

- методика построения статистической модели взаимосвязей показателей
ПО ТС на основе БСД и обучения её на базе экспериментальных данных;

- методика оценки надежности ПО ТС на основании полученной
статистической модели взаимосвязи показателей.

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

Достоверность и эффективность разработанной методики подтверждается методами компьютерного моделирования, экспериментальными исследованиями и опытными испытаниями в ходе разработки прикладного ПО ТС.

Научная новизна работы состоит в создании методик и алгоритмов для оценки надежности ПО ТС, использующих статистическую модель БСД, основанную на обработке и прогнозировании значений количественных и качественных характеристик программного продукта — метрик.

Основные результаты, определяющие научную новизну:

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

выборке;

- разработана методика построения статистической модели взаимосвязей
метрик ПО ТС на основе БСД, учитывающая особенности наблюдаемых
показателей и обладающая низкой вычислительной трудностью благодаря
применению разработанного модернизированного алгоритма установления
взаимосвязей метрик;

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

надежности.

Достоверность полученных результатов подтверждена

экспериментальными исследованиями с применением разработанного программного комплекса.

Практическая ценность выполненных исследований определяется

следующими результатами:

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

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

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

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

- определены требования и рекомендации к организации процесса
разработки с целью повышения уровня надежности и получения наиболее
объективной картины уровня надежности ПО ТС;

- разработанные методики и алгоритмы реализованы в виде
программного комплекса для оценки надежности ПО ТС.

Реализация результатов работы. Разработанная в диссертации методика легла в основу программного комплекса для сбора и анализа метрик и оценки надежности ПО. Программный комплекс и методика внедрены в процесс разработки специализированного ПО предприятий ОАО «Тренажерные системы», ООО «Бревис», 000 «Лион Софт», 000 «Деловые системы», 000 «Алгоритм». Акты внедрения прилагаются к диссертации.

Результаты диссертационного исследования прошли апробацию при выполнении исследований «Разработка методологии проектирования механотронных систем тренажеров подвижных наземных объектов», выполняемых в рамках ФЦП «Научные и научно-педагогические кадры инновационной России на 2009 - 2013 годы», государственный контракт номер 16.740.11.0013.

Результаты исследования внедрены в учебный процесс кафедры ЭВМ при реализации курсов «Программирование на языке высокого уровня», «Технологии программирования» и дипломном проектировании при подготовке бакалавров по специальности 230100 «Вычислительные машины, комплексы, системы и сети»; курсов «Языки программирования», «Проектирование системного программного обеспечения ЭВМ и вычислительных сетей» и дипломном проектировании при подготовке инженеров по специальности 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем».

Апробация работы. Основные положения работы докладывались на: Всероссийской научной конференции молодых ученых «Наука, технологии, инновации» (г. Новосибирск, НГТУ, 2006); Всероссийской научно-технической конференции «Интеллектуальные и информационные системы» (г. Тула, ТулГУ, 2007); XIV конференции магистров (г. Тула, ТулГУ, 2008); Международной научной конференции «Перспективы развития телекоммуникационных систем и информационные технологии» (г. Санкт-Петербург, СПбТПУ, 2008); 45-й научно-практической конференции профессорско-преподавательского состава ТулГУ «Информационные технологии» (г. Тула, ТулГУ, 2009); VII Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых «Молодежь и современные информационные технологии» (г. Томск, ТПУ, 2009); Всероссийской научно-технической конференции «Интеллектуальные и

информационные системы» (г. Тула, ТулГУ, 2009); 46-й научно-практической
конференции профессорско-преподавательского состава Іулі У

«Информационные технологии» (г. Тула, ТулГУ, 2010); Международной молодежной конференции «XXXVI Гагаринские чтения» (г. Москва, 2010); Международной научно-технической интернет-конференции «Информационные системы и технологии» (г. Орёл, 2011).

Публикации. По теме диссертации опубликовано 13 работ, в т.ч. 5 статьи в изданиях, включенных в Перечень ВАК, 5 статей в научных периодических изданиях, 5 статей в сборниках трудов конференций различного

уровня. .

Структура и объем работы. Работа состоит из введения, 4 глав, заключения, списка литературы из 114 наименований и изложена на 149 страницах машинописного текста, включает 35 рисунков, 34 таблиц и 2 приложения.

Метрики программного обеспечения как инструмент исследования надежности

Существует множество определений термина «надежность» как в отношении технических систем вообще, так и в отношении программного обеспечения в частности. В первом случае эта область исследуется давно и весьма успешно, в связи с чем многократно описана с различных точек зрения, и зафиксирована в государственных и международных стандартах. Следует отметить, что исторически надежность программного обеспечения всегда рассматривается в сочетании с его качеством, в большинстве случаев как его основная и неотъемлемая составляющая [27].

П. Кросби определил качество в технических системах как «соответствие первоначальным требованиям» [60]. Такое определение подразумевает, что требования должны быть чётко зафиксированы таким образом, чтобы могла иметь место только однозначная их интерпретация. В процессе разработки и пусконаладки производятся измерения соответствующих параметров, и их сравнения с требуемыми значениями. Выявленные несоответствия и считаются дефектами в программном продукте, или отражением качества. Этот принцип транспонируется и на измерение надежности продукта, в части выдвинутых требований к ней. Такой подход вполне имеет право на существование, но в чистом виде не совсем корректен [36].

Общепринято, что требования к программному продукту в процессе проектирования составляются в стандартном для технических систем порядке: совместными усилиями заказчика и разработчиков производится разработка, согласование и утверждение технического задания, в котором они содержатся. Разумно предположить, что в большинстве случаев заказчик не имеет никакой квалификации в области менеджмента качества и надежности программного обеспечения, в связи с чем на практике вся ответственность за адекватность требований в этой области ложится на плечи разработчиков, которые в свою очередь описывают в техническом задании лишь минимальные требования, не затруднительные в исполнении [74]. В результате при применении такой парадигмы имеет место следующая ситуация: разработанный программный продукт формально считается качественным и надежным, если он удовлетворяет требованиям самих разработчиков. Подобный теоретически частный случай на практике является наиболее распространенным, что в чистом виде делает приведенное определение качества и надежности как одной из его составляющей неприменимым.

Межгосударственный стандарт ГОСТ 27.002-89 «Надежность в технике. Основные понятия. Термины и определения» определяет надежность как свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, хранения и транспортирования [1].

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

Итак, определением надежности программного обеспечения среди большинства авторов по данной тематике считается следующее классическое заключение: это вероятность бессбойного корректного выполнения системой своих функций на определенном периоде времени [23; 114].

Гл. Дж. Майерс отмечает по этому поводу, что данное определение не учитывает различий между ошибками разных типов [18]. Так, в случае если в авиационной системе диспетчеризации наличествуют две ошибки в программном обеспечении: из-за одной теряется след самолета, а другая состоит в том, что в сообщении оператору слово передается с орфографическими ошибками - по своим последствиям эти ошибки совсем не равнозначны. В связи с этим надежность должна быть определена не только как функция частоты некорректных действий системы, но и серьезности их последствий. С учетом вышесказанного, доопределим надежность программного обеспечения как вероятность его бессбойного корректного функционирования на определенном периоде времени, рассчитанная с учетом стоимости для пользователя каждого сбоя.

1.1.2 Задача оценки надежности программного обеспечения как составляющей его качества

Д. Юран и Ф. Грина Мл. определили качество программного обеспечения как его «готовность к использованию» [84]. Данное определение на самом деле незначительно отличается от предыдущего, но в большей мере учитывает требования конечного пользователя. Предполагается, что программный продукт является качественным, если он удовлетворяет ожиданиям всех пользователей этого продукта, без оглядки на конкретные способы использования его каждым из них. Аналогично надежность в таком подходе оценивается по степени удовлетворенности пользователя программного обеспечения предоставляемым ему уровнем надежности. Такой подход является порождением маркетинговых методов, корректных в своей области, но назвать его объективным и исчерпывающим нельзя. Очевидно, что оценка уровня надежности и качества со стороны ожиданий пользователей аналогично предыдущему варианту не позволяет производить ни абсолютную оценку этих показателей, ни их относительное сравнение.

Генерация структуры БСД по экспериментальным данным

Существует ряд попыток применить многомерные регрессионные модели, основанные на нескольких метриках. При этом общей чертой таких подходов является факт, что точность прогнозирования дефектов падает незначительно при значительном сокращении числа привлеченных метрик (например, 3-6 вместо 30) [94]. Основным объяснением данного факта является взаимная коррелированность метрик. Фактически многие показатели имеют схожую природу, и являются отражением одних и тех же процессов в программном проекте с некоторыми особенностями, поэтому уменьшенный набор метрик не теряет в точности прогнозирования. Таким образом, существенной задачей является выбор методики отбора данного уменьшенного набора метрик, который будет наиболее репрезентативен в области оценки плотности дефектов. Частично она решается с помощью принципиального компонентного анализа [88], с помощью которого уменьшается размерность пространства метрик выделением «принципиальных компонентов». Например, установлено, что набор из 38 метрик, собранных среди 1000 модулей, может быть уменьшен до 6 ортогональных измерений, отражающих 90% изменчивости плотности дефектов. Наиболее важными из них являются: размер, уровень вложенности, и prime входят в уравнение, позволяющее отличить модули с высоким и низким уровнем плотности дефектов [97].

Другим способом уменьшения размерности метрики является применения факторного анализа и получение набора независимых факторов [88; 97]. Развитием такой теории является «метрика относительной сложности», которая подсчитывается как взвешенная сумма амплитуд изменчивости для каждого из измерений факторного анализа. В этом случае одна числовая метрика включает в себя всю информацию из большого числа других метрик, что обеспечивает большое количество преимуществ, как и при использовании одномерного критерия, например метрики МакКейба.

Основные недостатки существующих моделей надежности ПО Каждая из представленных выше моделей надежности ПО имеет ряд недостатков, что значительно затрудняет их применение на практике. Во всем разнообразии ошибок, возникающих в процессе моделирования надежности ПО, можно выделить основные группы причин, определяющих их происхождение: - неизвестный характер взаимосвязи между дефектами, заложенными в ПО, и сбоями; - проблематика комплексного применения метрик; - проблемы использования метрик размера и сложности в качестве основы для прогнозирования дефектов; - проблемы, связанные с качеством обрабатываемых статистических данных, в частности, их противоречивостью и неполнотой; - некорректные попытки установить «идеальные» показатели процесса разработки для надежности ПО, противоречащие принципам декомпозиции ПО; - отсутствие универсальности моделей.

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

В различных моделях используется различная терминология для обозначения сущностей, имеющих одинаковую природу: плотность дефектов, уровень дефектов, также нет чёткого понимания, какого рода показатели прогнозируются: обнаруженные или остаточные [52; 49].

Кроме указанных проблем в терминологии, основным недостатком таких моделей является то, что в их основе лежат попытки использовать процесс того или иного варианта подсчета дефектов в качестве меры надежности ПО. Однако даже имея точную оценку количества остаточных дефектов в программном проекте (что возможно, к сожалению, лишь на уровне теоретического моделирования), не существует методик, позволяющих получить конкретные выводы, каким образом разрабатываемая система будет функционировать в процессе эксплуатации. Это связано с первую очередь со сложностью формального определения «серьезности» дефекта (лишь единицы моделей в принципе вводят такое понятие, как различные классы ошибок), а также большой мощностью множества решений, которые пользователь может принять в ходе использования продукта - нет методов, позволяющих предсказать, какие именно ошибки ведут к сбоям с большей вероятностью, чем иные [47]. Например, 33% всех ошибок имеют средний срок проявления сбоя более 5000 лет, то есть с наибольшей вероятностью никак себя не проявят в процессе функционирования продукта. Напротив, ошибки со среднем сроком проявления менее 5 лет; составляют не более 2% из всего множества дефектов. Тем не менее, именно они требуют первостепенного обнаружения и устранения, так как проявят себя в наиболее кратчайшие сроки у значительного числа пользователей.

Разработка алгоритма методики оценки надежности ПО с использованием БСД

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

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

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

Использование метрик размера и сложности в разработанной методике осуществляется наряду с другими характеристиками процесса разработки программного продукта. Благодаря тому, что первичная генерация структуры сети и её обучение производится по экспериментальным данным, модель лишена какой-либо субъективности в установлении характера взаимосвязей.

Обработка некачественных статистических данных в процессе построения сети достигается предварительной фильтрацией данных. Таким образом, «выпадающие» из общей выборки экспериментальные данные будут корректно обработаны и не повлияют на работу методики в целом. Обработка частично доступных данных в процессе функционирования БСД предусмотрена самой парадигмой байесовского подхода, и успешно осуществляется благодаря вероятностному подходу.

Высокая универсальность методики достигается благодаря тому, что она не имеет готовой модели; её генерация и обучение является частью методики и производится по конкретным объективным экспериментальным данным, полученным в ходе разработки программного проекта. Таким образом, особенности конкретного вида программного обеспечения будут учтены на подготовительном этапе выполнения алгоритма.

Кроме того, возможность регулярной перенастройки модели, заложенная в методике оценки надежности ПО ТС, позволяет избежать идеализации результатов её работы и также дополнительно повышает универсальность применения.

Произведено сравнение разработанной методики с существующими моделями надежности ПО в разрезе устранения их недостатков. 4 Экспериментальное исследование разработанной методики оценки надежности ПО ТС

Экспериментальное исследование разработанной методики оценки надежности ПО ТС проводилось на базе процесса разработки системы тренажеров подвижных наземных объектов, создаваемых ОАО «Тренажерные системы». Для постановки эксперимента разработан специальный программный комплекс Barel.

С целью постановки эксперимента и дальнейшего практического применения разработанной методики по представленным алгоритмам требуется реализовать программный комплекс, выполняющий следующие задачи:

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

Подготовка показателей и вычисление необходимых для построения структуры БСД промежуточных данных. Проводятся необходимые для выполнения модернизированного эвристического алгоритма построения структуры БСД на базе Ml и AIK вычисления, устанавливается структура БСД и формируются таблицы условных вероятностей для её вершин.

Сбор статистической информации по исследуемому программному продукту

В процессе формирования сети понадобилось применение 44 итераций алгоритма на базе Ml и AIC (в ходе которых происходит проверка менее 300 нециклических структур), в то время как при полном переборе количество 18 таких структур для обработки превысило бы 4 10 . При этом при сравнении с сетью, полученной полным перебором, структурная разница (учитывает лишние, отсутствующие и реверсированные дуги) не превысила 5 единиц, что является приемлемой ошибкой для БСД из 10 вершин. Исходный алгоритм А.Н. Тереньтева и Б.И. Бидюка имеет эквивалентную вычислительную сложность, которая может незначительно отличаться по количеству итераций как в меньшую, так и в большую сторону. Однако благодаря особенностям выбранного информационного критерия генерируемые вероятностные модели в большей мере соответствуют заявленной области применения [48].

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

Нормализованные таблицы условных вероятностей представлены в табл. 4.3-4.7, таблицы безусловных (маргинальных) вероятностей, сформированные на основе результатов экспериментальных фиксаций, представлены в таблицах 4.8-4.12. При дальнейшей работе сети в ходе применения методики оценки, безусловные (маргинальные) вероятности заменяются на текущие свидетельства, сами значения вероятностей в их

Проверка работоспособности и эффективности разработанной методики Дальнейший мониторинг развития программного продукта и фиксация показателей позволила сделать выводы работоспособности и эффективности методики. Значения метрик DOU, DDM и MTTF, зафиксированные на втором этапе эксперимента, представлены в таблице А. 13. приложения А.

В результате помещения в БСД свидетельств о состоянии наблюдаемых метрик, были также получены интервальные вероятности для метрик DOU, MTTF, DDM, оцененные с помощью разработанной методики.

Значения метрики AUD и наиболее вероятного её интервала представлены на рисунке 4.10. Отклонение от прогнозируемого интервала не превысило 23%. 98907397083787 51 101 151 201 Рисунок 4.10 - Наиболее вероятные доверительные границы в ходе моделирования и реальные состояния показателей при дальнейшей разработке проекта метрики AUD Значения метрики DDM и наиболее вероятного её интервала представлены на рисунке 4.11. Отклонение от прогнозируемого интервала не превысило 15%.

Наиболее вероятные доверительные границы в ходе моделирования и реальные состояния показателей при дальнейшей разработке проекта метрики DDM Значения метрики MTTF и наиболее вероятного её интервала представлены на рисунке Отклонение от прогнозируемого интервала не превысило 19%. Результаты попыток оценивания метрики DDM на данном программном продукте с использованием других моделей надежности ПО, а также сравнение эффективности с разработанной методикой, представлены в таблице 4.13. Таблица 4.13 - Сравнение эффективности моделей надежности и разработанной методики оценки Наименование подхода Отклонение прогноза (ошибка оценки) Сравнение эффективности Комментарии Экспонентная модель, модель Релея, Вейбулла Не получила подтверждения, т.к. в ходе эксперимента не наблюдалось соблюдение метрикой DDMсоответствующего распределения Модель Акиямы 55% 73% Использовалась корректировка уравнения [49] Модель Гаффни 98% 85% Модель Липова 32% 53% Статистическая оценка рядов устранения ошибок 17% 12% Высокая точность в связи с малым разбросом показателя

Оценивание с применением метрик сложности 92% 83% Следует отметить, что в ходе эксперимента в качестве показателя DDM фиксировался суммирующийся итог по количеству обнаруженных дефектов, в то время как различные модели имеют разные подходы к прогнозируемой характеристике, от оценивания количества остаточных дефектов до общей плотности ошибок на тысячу строк кода.

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

В ходе эксперимента было подтверждено, что благодаря присутствующим в БСД механизмам обратного влияния событий, разработчики получили возможность статистически оценить причины падения надежности в ходе разработки продукта. Было установлено, что в данном проекте существенное увеличение доверительной оценки метрики DDM происходит при увеличении количества разработчиков.

Данные по условным вероятностям на момент окончания формирования БСД представлены в таблице 4.14.

Полученные данные в соответствии с таблицей 4.14 показывают, что, несмотря на повышенную производительность команды при включении в неё новых разработчиков, вероятность попадания в интервал, соответствующий большей плотности ошибок, возрастает. В ходе дальнейшего анализа процесса разработки были сделаны выводы, что это связано в первую очередь с недостатками проектирования продукта: 73% вновь полученных дефектов при увеличении размера команды лежит в плоскости организации межинтерфейсных взаимодействий. На основании полученных данных был проведен ряд мероприятий для повышения надежности ПО ТС, разрабатываемых организацией ОАО «Тренажерные системы» продуктов: в ходе предварительного проектирования большое внимание уделяется разработке межмодульных интерфейсов, их стандартизации и планированию распределения нагрузки между разработчиками.

Получены предварительные результаты использования разработанной методики оценки надежности ПО тренажерных систем для других видов программных проектов: оценка надежности ПО корпоративных информационных систем (на базе производственного процесса разработки программных продуктов ООО «Бревис», ООО «Деловые системы»), ПО АРМ «Почтовый клиент ИБД-Р s4Clone» (разработка ООО «Лион Софт»). Произведен анализ накопленной базы исходного кода в средах поддержки совместной разработки (CVS, SVN), и соответствующих зафиксированным в них версиям данных в системах отслеживания ошибок (Bugzilla, Jira). Полученная база показателей позволила сформировать модель взаимозависимостей между метриками размера (количество строк кода, плотность комментирования), метриками процесса (количество правок, интенсивность запусков) и характеристиками надежности (плотность ошибок), в которой точность оценки плотности ошибок находится на уровне 30-35%. оценка надежности ПО управления линией розлива пивоваренного производства (на базе статистики промышленной эксплуатации программного продукта ООО «Алгоритм»). Произведен анализ показателей эксплуатации (среднее время до сбоя, интенсивность эксплуатации, обслуживающая смена, загрузка ЦП) и метрик сопровождения (количество исправлений в месяц, среднее время исправления ошибок).

Похожие диссертации на Методики и алгоритмы для оценки надежности программного обеспечения систем тренажеров