Модели надежности и планирования испытаний программных средств

Вид материалаАвтореферат

Содержание


Общая характеристика работы
Целями исследования
Задачи исследования
Методы исследования
Основные научные результаты
Практическая значимость
Реализация результатов работы.
Апробация работы.
Структура диссертации.
Основное содержание работы
Раздел 1 «Объект, цель, задача исследования»
Раздел 2 «Модели надежности программных средств на основе распределений фазового типа»
Раздел 4 «Программная реализация моделей и оценка их достоверности»
K – коэффициент, учитывающий подобие проектов. Коэффициент K
Раздел 5 «Практическое применение результатов исследований»
P – вероятность безотказной работы ПС после испытаний, спланированных по предложенному методу; P'
Список работ, опубликованных
Список статей, опубликованных в материалах международных конференций
Подобный материал:
На правах рукописи


ТЫРВА Алексей Владимирович


МОДЕЛИ НАДЕЖНОСТИ И ПЛАНИРОВАНИЯ ИСПЫТАНИЙ ПРОГРАММНЫХ СРЕДСТВ


Специальность 05.13.18

«Математическое моделирование, численные методы и

комплексы программ»


Автореферат

диссертации на соискание ученой степени

кандидата технических наук






Санкт-Петербург

2010

Работа выполнена в Федеральном государственном образовательном учреждении высшего профессионального образования «Петербургский государственный университет путей сообщения» (ФГОУ ВПО ПГУПС)


Научный руководитель: доктор технических наук, профессор

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


Официальные оппоненты: доктор технических наук, профессор

Смагин Владимир Александрович


кандидат технических наук, доцент

Наседкин Олег Андреевич


Ведущая организация: ГОУ ВПО «Санкт-Петербургский государственный университет аэрокосмического приборостроения»


Защита состоится «18» ноября 2010 г. в 15.30 на заседании диссертационного совета Д 218.008.06 при Петербургском государственном университете путей сообщения по адресу: 190031, г. Санкт-Петербург, Московский пр., 9, ауд. 1-217.


Отзывы на автореферат в двух экземплярах, заверенные печатью предприятия, просим высылать по адресу: 190031, г. Санкт-Петербург, Московский пр., 9.

С диссертацией можно ознакомиться в библиотеке Университета.


Автореферат разослан «____» октября 2010 г.


Ученый секретарь

диссертационного совета

кандидат технических наук, профессор Кудряшов В. А.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы исследования.

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

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

Для решения поставленных задач могут быть использованы средства математического моделирования надежности ПС. Вопросам разработки и применения моделей надежности ПС посвящено большое количество исследований отечественных и зарубежных авторов: З. Джелинского, П.Б. Моранды, Дж.Д. Мусы, Б. Литтлвуда, Дж.Л. Верралла, М.Х. Холлстеда, М. Шумана, К.Дж. Шика, Р.В. Волвертона, Р.К. Чунга, В.А. Смагина, С. Дика, М.Р. Луи, Х. Окамуры, Л.В. Уткина, И.Б. Шубинского, А.М. Половко, Ю.И. Рыжикова, В. Фарра, К.А. Асада и др. Было разработано большое количество моделей для оценки и предсказания надежности ПС. Однако модели надежности обладают рядом недостатков, ограничивающих их использование для решения названных задач:
  • модели не обладают общностью (для описания временных характеристик отладки используются конкретные виды распределений, как правило, экспоненциальное);
  • модели описывают процесс обнаружения, но не устранения программных ошибок, что делает невозможным их применение собственно для планирования испытаний;
  • модели не предназначены для выбора стратегий испытаний и распределения ресурсов тестирования между модулями ПС.

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

Объектом диссертационного исследования являются ПС на этапе проектирования, реализации или тестирования.

Предметом диссертационного исследования являются модели надежности и планирования испытаний ПС.

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

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

Методы исследования: теория надежности, теория массового обслуживания, математическая статистика, теория вероятностей.

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

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

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

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

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

Реализация результатов работы. Основные результаты диссертационных исследований внедрены в следующих организациях:
  • филиал ОАО «РЖД» Проектно-конструкторско-технологическое бюро по системам информатизации (при разработке и тестировании учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей» с электронными средствами поддержки дистанционного обучения);
  • ООО «Эксиджен Сервисис» (при разработке программных проектов Labka, StarTrek);
  • ФГОУ ВПО ПГУПС (в учебном процессе кафедры «ИВС» при проведении занятий по дисциплине «Надежность информационных систем»).

Разработанный комплекс программ расчета надежности и планирования испытаний программных средств зарегистрирован Федеральной службой по интеллектуальной собственности, патентам и товарным знакам в реестре программ для ЭВМ. Свидетельство о государственной регистрации программ для ЭВМ № 2010615617. Москва, 2010.

Апробация работы. Основные результаты исследований докладывались и обсуждались на Четырнадцатой, Тринадцатой, Двенадцатой международных научно-практических конференциях «Информационные технологии на железнодорожном транспорте» (Санкт-Петербург, ФГОУ ВПО ПГУПС, 2009, 2008, 2007), на Тридцать четвертой ежегодной конференции Института инженеров электроники и электротехники (IEEE) по программному обеспечению и компьютерным приложениям «COMPSAC» (Сеул, IEEE, 2010), на Пятой восточно-европейской научно-практической конференции по программной инженерии «CEE SECR» (Москва, Текама, 2009), на Всероссийской научно-практической конференции «Транспорт-2009» (Ростов-на-Дону, ГОУ ВПО РГУПС, 2009), на конференциях «Шаг в будущее. Неделя науки» (Санкт-Петербург, ФГОУ ВПО ПГУПС, 2009, 2008).

Публикации. По результатам исследования лично и в соавторстве опубликованы 11 печатных работ, из которых 4 в журналах, входящих в перечень изданий, рекомендуемых ВАК, 3 в материалах международных конференций. Получено свидетельство о государственной регистрации разработанного комплекса программ расчета надежности и планирования испытаний программных средств в Реестре программ для ЭВМ.

Структура диссертации. Диссертация состоит из введения, пяти разделов, заключения, списка использованных источников и приложения. Общий объем диссертации – 143 с., из которых основного текста – 121 с. Библиографический список содержит 93 наименования. Основной текст диссертации включает 30 рисунков и 12 таблиц.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

Раздел 1 «Объект, цель, задача исследования» содержит описание объекта и предмета исследования, требования, предъявляемые к ПС при разработке и испытаниях, основные используемые определения теории надежности ПС, обзор используемых показателей надежности, программных метрик сложности, анализ существующих моделей надежности ПС.

ГОСТ Р ИСО/МЭК 9126–93 «Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению» определяет надежность как набор атрибутов, относящихся к «способности программного обеспечения сохранять свой уровень качества функционирования при установленных условиях за установленный период времени». Для количественной оценки надежности используется ряд показателей: средняя наработка на отказ, вероятность безотказной работы, число не устраненных программных ошибок, вероятность отсутствия ошибок.

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

Для количественной оценки и предсказания надежности ПС используют модели надежности. Наиболее известными являются классические модели надежности Джелинского-Моранды, Шика-Волвертона, Липова, Вейбулла, Мусы. В последнее время были предложены их усовершенствования, например модели Дика и Йанга на основе использования средств искусственного интеллекта. Также были разработаны модели посева ошибок Миллса, модель Чунга-Смагина, учитывающая архитектуру ПС, и др.

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

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

Раздел 2 «Модели надежности программных средств на основе распределений фазового типа» содержит описание результатов разработки экспоненциальной и общих моделей надежности ПС.

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

На основе распределений фазового типа в работе построен ряд обобщенных моделей надежности. Наибольшей общностью обладает модель с коксовским обнаружением и коксовским исправлением N программных ошибок C2(i)/C2(j)/N.

Состояние (i, k, l, j) системы C2(i)/C2(j)/N в каждый момент времени характеризуется количеством обнаруженных (еще не исправленных) ошибок i (), исправленных ошибок j (), фазами k () и l (l) распределения Кокса длины интервалов времени между моментами обнаружения и исправления ошибок соответственно. Здесь и далее N – общее число ошибок, 

Переход из состояния (i, 0, l, j) в состояние (i+1, 0, l, j) означает, что при тестировании была обнаружена (i+j+1)-я ошибка. Переход из состояния (i, k, 0, j) в состояние (i–1, k, 0, j+1) означает, что была исправлена (j+1)-я ошибка. Переходы описываются двухэтапным распределением Кокса, которое представляет собой смесь двух экспоненциальных фаз с интенсивностями λi, λ'i (µj, µ'j), причем pi (rj) – вероятность того, что после первой экспоненциальной фазы случайной длительности произойдет переход на вторую экспоненциальную фазу.

Поведение системы C2(i)/C2(j)/N описывается системой дифференциальных уравнений:







+



,




где ;

 – вероятность пребывания системы в состоянии (i, k, l, j) в момент времени t;

λm, λ'm, µm, µ'm, pm, rm – параметры (интенсивности и вероятность перехода между экспоненциальными фазами) двухэтапного распределения Кокса, аппроксимирующего распределение длительностей интервалов времени обнаружения и исправления m-й ошибки соответственно, .

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

Задав начальные условия к системе в виде  можно найти численное решение соответствующей задачи Коши для произвольного значения t.

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

В разделе 2 описаны следующие разработанные модели надежности ПС на основе распределений фазового типа: базовая экспоненциальная модель M(i)/M(j)/N, модели с не экспоненциальным обнаружением E2(i)/M(j)/N, H2(i)/M(j)/N, C2(i)/M(j)/N, модели с не экспоненциальным исправлением ошибок M(i)/E2(j)/N, M(i)/H2(j)/N, M(i)/C2(j)/N, общие модели E2(i)/E2(j)/N, C2(i)/C2(j)/N.

Каждая модель иллюстрирована соответствующей диаграммой переходов между состояниями, системой дифференциальных уравнений и формулами для определения показателей надежности. Приведены иллюстративные примеры расчетов. Исследовано влияние коэффициента вариации потока обнаружения и исправления ошибок на показатели надежности. На рис. 1 показаны графики функций распределения времени исправления N ошибок FN(t) для значений коэффициента вариации потока обнаружения ошибок var = 0.2, 0.5, 1 (для системы с не экспоненциальным обнаружением и экспоненциальным исправлением ошибок G(i)/M(j)/N).



Рисунок 1 – Функции распределения времени исправления всех ошибок

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

Таблица 1 – Время испытаний, требуемое для исправления всех ошибок

outvar

invar

0.2

0.5

1.0

0.2

50

51

64

0.5

51

53

67

1.0

56

59

73

Приведенный расчетный пример показывает, что при использовании общих моделей G(i)/G(j)/N вместо экспоненциальной достигается повышение точности до 8-12%.

Раздел 3 «Планирование испытаний программных средств» посвящен описанию применения разработанных моделей надежности для обоснования стратегий испытаний и методу планирования испытаний.

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

Первая стратегия характеризуется тем, что тестирование продолжается, пока не будет обнаружена первая ошибка. После ее исправления вновь начинается тестирование. Вторая стратегия характеризуется тем, что тестирование продолжается, пока не будут обнаружены все ошибки. Затем обнаруженные ошибки исправляются. Третья стратегия характеризуется тем, что тестирование продолжается, пока не будут обнаружены k ошибок (1 < k < N). После обнаружения k ошибок тестирование приостанавливается, найденные ошибки исправляются. Затем тестирование продолжается.

Модели стратегий описываются следующей системой дифференциальных уравнений, которая соответствует первой стратегии при k = 1, второй стратегии – при k = N, третьей стратегии – при 1 < k < N:





+

,

где Pi,j(t) – вероятность того, что к моменту времени t обнаружено i и исправлено j ошибок;

i mod j – остаток от деления i / j;

 при ;

 при ;

 при ;

 при ;

λm – интенсивность обнаружения m-й ошибки, m ;

µm – интенсивность исправления m-й ошибки, m .

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

В зависимости от фактической организации взаимодействия команд разработчиков и тестеров могут использоваться более сложные стратегии испытаний, являющиеся комбинацией описанных базовых. Расчет надежности для произвольной стратегии на основе общей модели G(i)/G(j)/N реализован в разработанном комплексе программ, описанном в разделе 4.

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

Для планирования испытаний используются условные вероятностные характеристики надежности i-го модуля π'i, которые получаются из безусловных πi (например, вероятности отсутствия ошибок или вероятности безотказной работы), с учетом вероятности qi выполнения модуля:

.

Вероятность выполнения i-го модуля qj определяется решением системы линейных уравнений баланса:

,

где bi – среднее время выполнения i-го модуля;

Pj,i – вероятность перехода из j-го модуля в i-й;

L – общее число модулей ПС.

Суммарное время выполнения каждого модуля при функционировании в составе многомодульного ПС можно найти с использованием матрицы y(s):

,

где уi(s) – преобразование Лапласа-Стилтьеса (ПЛС) распределения времени исполнения i-го модуля.

Для определения времени выполнения многомодульного ПС необходимо рассмотреть матрицу, элементами которой являются ПЛС функции распределения времени исполнения модулей за бесконечное число переходов из одного модуля в другой V(s):

V(s)=I+y(s)+y2(s)+…=I(I-y(s))-1,

где I – единичная матрица.

Элемент (i, j) матрицы V(s) определяется как:

vi,j(s)=Ai,j(s)/D(s),

где Ai,j(s) – алгебраическое дополнение элемента (i, j) матрицы V(s);

D(s) – определитель матрицы V(s).

Среднее время выполнения многомодульного ПС (при s=0):

.

Суммарное среднее время выполнения i-го модуля в составе ПС:

.

Распределение ресурсов тестирования производится на основе значений полученных оценок надежности модулей πi'. Например, если есть ограничение общего времени испытаний многомодульного ПС τ, то расчет времени испытаний i-го модуля τi производится следующим образом:



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

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

Раздел 4 «Программная реализация моделей и оценка их достоверности» посвящен описанию реализации полученных результатов и обоснованию их достоверности.

Модели надежности ПС и планирования испытаний доведены до алгоритмов и программной реализации. Разработан комплекс программ расчета надежности и планирования испытаний программных средств (зарегистрирован в государственном Реестре программ для ЭВМ). В разделе приводится краткое описание основных функций разработанных программ. Комплекс программ написан на языке Matlab с использованием пакета символьных вычислений Matlab Symbolic Math Toolbox.

В комплексе программ реализованы следующие разработанные модели надежности ПС: M(i)/M(j)/N, H2(i)/M(j)/N, M(i)/E2(j)/N, E2(i)/E2(j)/N, C2(i)/C2(j)/N. Для всех моделей реализованы расчеты показателей надежности при использовании различных стратегий испытаний: как описанных трех базовых стратегий, так и более сложных.

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

Пусть для уже завершенного подобного проекта известно общее число ошибок N(1), число ошибок П(1), спрогнозированное по модели Басили и Эль-Эмама на основе объектно-ориентированной сложности, длительности интервалов времени обнаружения ошибок ti(1), i=1, … , N(1) и длительности интервалов времени устранения ошибок fi(1), i=1, …, N(1).

Тогда предполагаемое число ошибок в испытываемом ПС N(2) рассчитывается как:

,

где П(2) – прогноз числа ошибок по модели Басили и Эль-Эмама для испытываемого ПС;

K – коэффициент, учитывающий подобие проектов.

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

В простейшем случае, если оба проекта подобны, то есть K ≈ 1 и N(1)≤N(2), для построения модели надежности испытываемого ПС могут быть использованы следующие значения: общее количество ошибок N(2), длительности интервалов времени обнаружения ошибок ti(2)=ti(1), i=1, … , N(2) и длительности интервалов времени устранения ошибок fi(2)=fi(1), i=1, …, N(2). В более сложных случаях длительности интервалов времени ti(2) и fi(2) должны быть экспертно скорректированы относительно ti(1) и fi(1) с учетом различия факторов разработки.

Для обоснования достоверности расчетов выполнена проверка полученных результатов с использованием различных разработанных моделей надежности ПС. Общие модели (E2(i)/E2(j)/N, C2(i)/C2(j)/N) используются для проверки результатов частных моделей (M(i)/M(j)/N, H2(i)/M(j)/N). Максимальное относительное отклонение для рассчитанных показателей надежности (вероятность отсутствия ошибок и др.) составило 0.0055, что свидетельствует о правильности реализации разработанных моделей.

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

Раздел 5 «Практическое применение результатов исследований» содержит описание применения полученных результатов при разработке и тестировании ПС, в том числе используемых на железнодорожном транспорте, в процессе обучения студентов ФГОУ ВПО ПГУПС и персонала компании ООО «Эксиджен Сервисис», занимающейся разработкой и тестированием ПС, применяемых в различных отраслях.

Выполнено моделирование надежности программного обеспечения проекта Labka, разработанного компанией ООО «Эксиджен Сервисис», и программного обеспечения учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей», разработанного кафедрой «ИВС» ПГУПС. Для расчетов использованы данные об около 100 программных ошибках, обнаруженных и исправленных в течение 7 итераций. При испытаниях были обнаружены ошибки взаимодействия с базой данных, организации пользовательского интерфейса, неоптимизированный код, утечка памяти и ресурсов, синхронизации потоков, отсутствие средств восстановления и др. Рассчитаны значения показателей надежности для различных стратегий испытаний ПС. Определена вероятность безотказной работы, вероятность того, что после испытаний в коде ПС остается заданное количество ошибок.

Результаты моделирования целесообразно использовать для оценки текущего уровня надежности ПС и прогноза динамики его изменения в процессе испытаний. На рис. 2 приведены графики функции распределения времени исправления i ошибок Fi(t), i = N, N – 1, N – 2. Подобная информация полезна менеджерам проекта для планирования сроков выпуска продукта, для определения требуемых трудозатрат и ресурсов, формирования команд программистов и тестеров и т. д.



Рисунок 2 – Функции распределения времени устранения ошибок

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

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

 ,

где P – вероятность безотказной работы ПС после испытаний, спланированных по предложенному методу;

P' – вероятность безотказной работы ПС после испытаний, спланированных по модели Чунга-Смагина.



Рисунок 3 – Графики среднего числа исправленных ошибок

На рис. 4 показан график повышения вероятности безотказной работы E. Из графика видно, что наибольший эффект достигается при относительно небольшом времени испытаний и составляет около 5%.



Рисунок 4 – Повышение вероятности безотказной работы

Заключение содержит основные результаты диссертационного исследования:
  • разработана экспоненциальная модель надежности ПС M(i)/M(j)/N;
  • разработан комплекс обобщенных моделей надежности ПС H2(i)/M(j)/N, M(i)/H2(j)/N, E2(i)/E2(j)/N, C2(i)/C2(j)/N и др. на основе распределений фазового типа;
  • разработаны модели для обоснования стратегий испытаний ПС;
  • получены математические соотношения для вычисления показателей надежности с использованием результатов моделирования;
  • разработана методика задания исходных данных для моделирования надежности ПС и исследовано влияние вида распределения исходных данных на надежность ПС;
  • разработан комплекс программ расчета надежности и планирования испытаний ПС;
  • выполнена оценка надежности ПС проекта Labka, разработанного ООО «Эксиджен Сервисис», и учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей».

Внедрение результатов исследования позволяет получить следующий эффект:
  • повышение точности расчета показателей надежности ПС на 8-12% за счет использования аппроксимации распределениями фазового типа общих видов распределения длительностей интервалов времени обнаружения и устранения ошибок;
  • повышение вероятности безотказной работы многомодульного ПС до 5% за счет эффективного разделения ресурсов тестирования между модулями ПС с учетом данных о временных характеристиках функционирования и сложности каждого модуля.

В приложение 1 включены исходные тексты основных функций комплекса программ расчета надежности и планирования испытаний ПС.

Результаты диссертационного исследования лично и в соавторстве опубликованы в 11 печатных работах.

СПИСОК РАБОТ, ОПУБЛИКОВАННЫХ

ПО ТЕМЕ ДИССЕРТАЦИИ

Список статей, опубликованных в журналах перечня ВАК:
  1. Тырва А.В. Методика задания исходных данных для моделей надежности программных средств железнодорожного транспорта // Известия Петербургского университета путей сообщения, 2010, № 2 (23). С. 250-261.
  2. Тырва А.В., Хомоненко А.Д. Метод планирования тестирования сложных программных комплексов на этапах проектирования и разработки // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета, 2009, № 4 (82). С. 125-131.
  3. Бубнов В.П., Тырва А.В., Хомоненко А.Д. Обоснование стратегии отладки программ на основе нестационарной модели надежности // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета, 2010, № 2(97). С. 85-92.
  4. Бубнов В.П., Тырва А.В., Бурцева К.И. Нестационарная модель надежности программных средств с распределением Кокса длин интервалов времени исправления ошибок // Вестник Всероссийского научно-исследовательского и проектно-конструкторского института электровозостроения, 2010, № 1(59). С. 143-152.

Список статей, опубликованных в материалах международных конференций:
  1. Bubnov V.P., Tyrva A.V., Khomonenko A.D. Model of reliability of the software with Coxian distribution of length of intervals between the moments of detection of errors // Proceedings of 34th Annual IEEE Computer Software and Applications Conference COMPSAC-2010, 2010. P. 238-243.

Бубнов В.П., Тырва А.В., Хомоненко А.Д. Модель надежности программных средств с распределением Кокса длин временных интервалов между моментами обнаружения ошибок // Материалы 34-й ежегодной конференции по программному обеспечению и приложениям международного института инженеров электроники и электротехники (COMPSAC-2010), 2010. C. 238-243.
  1. Rogalchuk V.V., Tyrva A.V., Khomonenko A.D. Estimation of program reverse semantic traceability influence at program reliability with assistance of object-oriented metrics // Software Engineering Conference in Russia (CEE-SECR), 2009 5th Central and Eastern European, 2009. P. 125 – 130.

Рогальчук В.В., Тырва А.В., Хомоненко А.Д. Оценивание влияния обратной семантической трассировки программ на их надежность с помощью объектно-ориентированных метрик // Материалы пятой ежегодной конференции Центральной и Восточной Европы "Разработка ПО 2009" (CEE-SECR), 2009. С. 125 – 130.
  1. Хомоненко А.Д., Тырва А.В., Дащенко М.В. Современные подходы и инструментальные средства тестирования и оценки качества программного обеспечения информационных систем ОАО «РЖД» // Информационные технологии на железнодорожном транспорте: Доклады двенадцатой международной научно-практической конференции «Инфотранс–2007», 2007. С. 33–39.

Список статей, опубликованных в других журналах и материалах конференций:
  1. Тырва А.В., Хомоненко А.Д. Планирование проведения тестирования комплексов программ на основе проектных метрик сложности // Труды Всероссийской научно-практической конференции «Транспорт-2009», 2009, Ч. 1. С. 80-82.
  2. Тырва А.В. Разработка приложения для планирования проведения тестирования комплексов программ // Шаг в будущее. Неделя науки-2009: материалы конференции, 2009. С. 178–180.
  3. Тырва А.В. Анализ подходов к оцениванию качества программного обеспечения для железнодорожного транспорта. // Шаг в будущее. Неделя науки-2008: материалы конференции, 2008. С. 152–156.

Список других работ:
  1. Тырва А.В., Хомоненко А.Д., Бубнов В.П. Комплекс программ расчета надежности и планирования испытаний программных средств // Федеральная служба по интеллектуальной собственности, патентам и товарным знакам. Свидетельство о государственной регистрации программ для ЭВМ № 2010615617. Москва, 2010.




Подписано к печати

Печать – ризография

Тираж 100 экз.

29.09.2010 г.

Бумага для множит. апп.

Заказ №

Печ. л. – 1

Формат 60x84 1/ 16

СР ПГУПС 190031, С.-Петербург, Московский пр., 9