автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Модели надежности и планирования испытаний программных средств

кандидата технических наук
Тырва, Алексей Владимирович
город
Санкт-Петербург
год
2010
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Модели надежности и планирования испытаний программных средств»

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

0046121

На правах рукописи

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

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

Специальность 05.13.18 «Математическое моделирование, численные методы и комплексы программ»

Автореферат диссертации на соискание ученой степени кандидата технических наук

1 1 НОЯ 2010

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

004612053

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

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

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

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

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

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

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

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

кандидат технических наук, доцент Наседкин Олег Андреевич

Ведущая организация: ГОУ ВПО «Санкт-Петербургский

государственный университет аэрокосмического приборостроения»

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

Ученый секретарь диссертационного совета кандидат технических наук, профессор

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

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

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

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

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

• модели не обладают общностью (для описания временных характеристик отладки используются конкретные виды распределений, как правило, экспоненциальное);

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

• модели не предназначены для выбора стратегий испытаний и распределения ресурсов тестирования между модулями ПС.

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

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

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

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

Задачи исследования:

• обоснование показателей надежности ПС;

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

• обоснование математических соотношений для перехода от вероятностных характеристик ПС к показателям их надежности;

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

• разработка методики задания исходных данных для моделирования надежности и планирования испытаний ПС;

• разработка комплекса программ расчета надежности и планирования испытаний ПС.

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

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

Основные научные результаты, выносимые на защиту:

• комплекс моделей для расчета показателей надежности ПС, основанный на использовании распределений фазового типа;

• модели надежности ПС для обоснования выбора стратегий испытаний ПС;

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

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

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

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

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

Реализация результатов работы. Основные результаты диссертационных исследований внедрены в следующих организациях:

• филиал ОАО «РЖД» Проектно-конструкторско-технологическое бюро по системам информатизации (при разработке и тестировании учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей» с электронными средствами под держки дистанционного обучения);

• ООО «Эксиджен Сервисис» (при разработке программных проектов 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 «Модели надежности программных средств на основе распределений фазового типа» содержит описание результатов разработки экспоненциальной и общих моделей надежности ПС.

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

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

Состояние (í, к, ¡,j) системы Ci(í)ICi(jyN в каждый момент времени характеризуется количеством обнаруженных (еще не исправленных) оши-

бок i (£ = О, N), исправленных ошибок j (J = О, N — i), фазами к (к = О, S(N — i — у)) и 1 (1= 0, <5 (0) распределения Кокса длины интервалов времени между моментами обнаружения и исправления ошибок соответственно. Здесь и далее N-общее число ошибок, 6(т) = если 171 ^

(.0, еслит<0.

Переход из состояния (г, 0, l,j) в состояние (г+1, 0, l,j) означает, что при тестировании была обнаружена (г'+/+1)-я ошибка. Переход из состояния (г, к, 0,7) в состояние (/-1, к, 0, у+1) означает, что была исправлена (/+1)-я ■ ошибка. Переходы описываются двухэтапным распределением Кокса, которое представляет собой смесь двух экспоненциальных фаз с интенсивностями А,-, Л', (ßj, ß'j), причем Pi (rj) - вероятность того, что после первой экспоненциальной фазы случайной длительности произойдет переход на вторую экспоненциальную фазу.

Поведение системы Сгф/СгфШ описывается системой дифференциальных уравнений:

. dPi^ti(t) = -id. - k)s(N - i -т,к,ит1+Н1 --mPixuW

+5(1 - k)5(0(Pi-u,w(t)A'i+/ + PKo(ij(Ö(l - Vi+])k+j) --5(05(1 - l)Pi,kXj(t^j+1 - 8mM,lWj+i+

+5(1 - l)8(j) (Pi+ixxj-1

+8COPi,k,0,j(t)rj+1fij+1,_ _

где i = 0, N,j = 0 ,N-i,k = 0, ö(N-i- j), l = 0,5(i);

Pt,Je,!,;00 - вероятность пребывания системы в состоянии (¡', к, l,j) в момент

времени t;

^т> /яз №т> Ц тг

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

Для каждого момента времени t должно соблюдаться условие нормировки вида Silo ZU ^fio huj (О = 1-

Задав начальные условия к системе в виде D cm (0,если i + fc + 1+] Ф0\

Рш,Д") = ц если + jfc + / = о можно наити численное решение соответствующей задачи Коши для произвольного значения t.

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

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

В разделе 2 описаны следующие разработанные модели надежности ПС на основе распределений фазового типа: базовая экспоненциальная модель М(/')/М(/УМ модели с не экспоненциальным обнаружением Нг&М^Ш, СгОУМУ)^, модели с не экспоненциальным исправлением ошибок Мф/ЕЖУЫ, МЦ)/Нга)№, М(1)/Сг(])№, общие модели

ЧУШт, с2(гус2(})т.

Каждая модель иллюстрирована соответствующей диаграммой переходов между состояниями, системой дифференциальных уравнений и формулами для определения показателей надежности. Приведены иллюстративные примеры расчетов. Исследовано влияние коэффициента вариации потока обнаружения и исправления ошибок на показатели надежности. На рис. 1 показаны графики функций распределения времени исправления N ошибок ^л<0 для значений коэффициента вариации потока обнаружения ошибок \аг - 0.2, 0.5, 1 (для системы с не экспоненциальным об-

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

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

Таблица 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{jyN вместо экспоненциальной достигается повышение точности до 8-12%.

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

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

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

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

^^ = (5(0Pi-ij(t)Ai+;-5(fc - 050V - £ -Mj(t)Ai+J>1)) х

х 5(1 - j mod к) - 5(0(5(1 - (i + j) mod к) + 5(1 - (i + j) mod N)) x x Plfj(t)fij+1+(8(i - (£+;) mod k)S(k - i)S(J) + +5(N mod к - i)8(j -N + N mod fcX^+ij-iW/f/, где P,j{t) — вероятность того, что к моменту времени ( обнаружено i и исправлено^'ошибок; i mod j - остаток от деления i /j; i = 0, к при j mod k = 0&j<N-N mod к; i = k—j mod к при j mod к 8ij <N —N mod k; i = 0,Nmod к при j = N —N mod k;

i = N mod К— j mod к при N — N mod к <j < N; lm — интенсивность обнаружения т-й ошибки, т — 1, N; ¡im - интенсивность исправления т-й ошибки, m—l,N.

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

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

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

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

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

где - среднее время выполнения г'-го модуля; Рр - вероятность перехода изу'-го модуля в г-й; Ь — общее число модулей ПС.

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

п. = тт. -о,. 1 1

Р0,0 Л,1 ^0,2 ЛоЛМ ЪЛМ

JVlW

^£.♦1,0 ^Ltl.l Д+1,2

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

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

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

Элемент (/,/) матрицы У(з) определяется как:

где Л у (5) - алгебраическое дополнение элемента (/, 7) матрицы

- определитель матрицы У^).

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

А .

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

Т, = 9,Т .

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

т.=тл.'.

I I

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

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

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

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

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

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

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

Пусть для уже завершенного подобного проекта известно общее число ошибок Nчисло ошибок п(Ч спрогнозированное по модели Басили и Эль-Эмама на основе объектно-ориентированной сложности, длительности интервалов времени обнаружения ошибок (,(1), г-1, ... , i*/" и длительности интервалов времени устранения ошибок^4, г-1, ..А^Ч

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

у(1)ПР) = K 11

П(1) '

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

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

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

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

В простейшем случае, если оба проекта подобны, то есть К ~ 1 и 7V(1)<N(2), для построения модели надежности испытываемого ПС могут быть использованы следующие значения: общее количество ошибок №2\ длительности интервалов времени обнаружения ошибок i/2'^/1', г-1, ... , N® и длительности интервалов времени устранения ошибок /(2)=//1', /=1, ..., -М2'. В более сложных случаях длительности интервалов времени //2) и f> должны быть экспертно скорректированы относительно f,- и//1-1 с учетом различия факторов разработки.

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

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

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

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

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

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

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

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

Е = — Х100%,

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

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

100 г

\

80 -

и

4! боь

\

........

\

\

\

\

40 •

20'

----Стратегия 1

— —СхратепиЗ .......Стратегия 3 (к » 30)

\

, \ \\

•Л

100

200 300 400 500 Время испытаний час

600 700

800

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

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

'0 5 10

15 20 25 30 35 Время тестирования, час.

45 50 Р(?0)-0.9!>

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

Заключение содержит основные результаты диссертационного исследования:

• разработана экспоненциальная модель надежности ПС М(1)1М(/)Ш;

• разработан комплекс обобщенных моделей надежности ПС H2(i)/M(jyN, M(i)/H2Q)/N, E2{i)IE2{j)IN, C2{i)IC2(j)IN и др. на основе распределений фазового типа;

• разработаны модели для обоснования стратегий испытаний ПС;

• получены математические соотношения для вычисления показателей надежности с использованием результатов моделирования;

• разработана методика задания исходных данных для моделирования надежности ПС и исследовано влияние вида распределения исходных данных на надежность ПС;

• разработан комплекс программ расчета надежности и планирования испытаний ПС;

• выполнена оценка надежности ПС проекта Labka, разработанного ООО «Эксиджен Сервисис», и учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей».

Внедрение результатов исследования позволяет получить следующий эффект:

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

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

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

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

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

Список статей, опубликованных в журналах перечня ВАК:

1. Тырва A.B. Методика задания исходных данных для моделей надежности программных средств железнодорожного транспорта // Известия Петербургского университета путей сообщения, 2010, № 2 (23). С. 250-261.

2. Тырва A.B., Хомоненко А.Д. Метод планирования тестирования сложных программных комплексов на этапах проектирования и разработки // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета, 2009, № 4 (82). С. 125-131.

3. Бубнов В.П., Тырва A.B., Хомоненко А.Д. Обоснование стратегии отладки программ на основе нестационарной модели надежности // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета, 2010, № 2(97). С. 85-92.

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

5. 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 ШЕЕ Computer Software and Applications Conference COMPSAC-2010, 2010. P. 238-243.

Бубнов В.П., Тырва A.B., Хомоненко А.Д. Модель надежности программных средств с распределением Кокса длин временных интервалов между моментами обнаружения ошибок // Материалы 34-й ежегодной конференции по программному обеспечению и приложениям международного института инженеров электроники и электротехники (COMPSAC-2010), 2010. С. 238-243.

6. 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.

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

7. Хомоненко А.Д., Тырва A.B., Дащенко М.В. Современные подходы и инструментальные средства тестирования и оценки качества программного обеспечения информационных систем ОАО «РЖД» // Информационные технологии на железнодорожном транспорте: Доклады двенадцатой международной научно-практической конференции «Инфотранс-2007», 2007. С. 33-39.

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

8. Тырва A.B., Хомоненко А.Д. Планирование проведения тестирования комплексов программ на основе проектных метрик сложности // Труды Всероссийской научно-практической конференции «Транспорт-2009», 2009, Ч. 1. С. 80-82.

9. Тырва A.B. Разработка приложения для планирования проведения тестирования комплексов программ // Шаг в будущее. Неделя науки-2009: материалы конференции, 2009. С. 178-180.

10. Тырва A.B. Анализ подходов к оцениванию качества программного обеспечения для железнодорожного транспорта. // Шаг в будущее. Неделя науки-2008: материалы конференции, 2008. С. 152-156.

Список других работ:

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

Подписано к печати /¿>.2010 г. Печ. л.-1

Печать - ризография Бумага для множит, апп. Формат 60x84 1/16

Тираж 100 экз._ Заказ № 83£.__

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

Оглавление автор диссертации — кандидата технических наук Тырва, Алексей Владимирович

Введение.

1. Объект, цель, задачи исследования.

1.1. Описание объекта исследования.

1.2. Требования к ПС.

1.3. Выбор и обоснование показателей надежности ПС.

1.4. Программные метрики сложности.

1.5. Обзор моделей надежности ПС.

1.6. Постановка задачи исследования.

1.7. Выводы по разделу.

2. Модели надежности программных средств на основе распределений фазового типа.

2.1. Экспоненциальная модель надежности ПС.

2.2. Метод Кокса для представления немарковских распределений.

2.3. Модели надежности ПС с неэкспоненциальным временем обнаружения программных ошибок.

2.4. Модели надежности ПС с неэкспоненциальным временем устранения программных ошибок.

2.5. Общая модель надежности ПС.

2.6. Выводы по разделу.

3. Планирование испытаний программных средств.

3.1. Моделирование надежности ПС при использовании различных стратегий испытаний.

3.2. Метод планирования испытаний многомодульных программных средств.

3.3. Выводы по разделу.

4. Программная реализация и оценка достоверности разработанных моделей.

4.1. Описание программной реализации.

4.2. Методика задания исходных данных.

4.3. Оценка достоверности результатов.

4.4. Выводы по разделу.

5. Практическое применение результатов исследований.

5.1. Объекты внедрения.

5.2. Результаты моделирования надежности ПС.

5.3. Сравнение стратегий испытаний ПС.

5.4. Оценка эффективности.

5.5. Выводы по разделу.

Введение 2010 год, диссертация по информатике, вычислительной технике и управлению, Тырва, Алексей Владимирович

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

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

Одним из действенных средств, направленным на повышение надежности ПС, является их сертификация. Сертификация ПС по требованиям качества проводится в Системе добровольной сертификации на железнодорожном транспорте Российской Федерации. Основными нормативными документами, содержащими требования к качеству (и надежности) ПС и используемыми при сертификации, являются следующие стандарты: ГОСТ Р ИСО/МЭК 9126-93, ГОСТ Р ИСО/МЭК 12207-99, ряд ГОСТ ЕСПД, регламентирующих оформление и содержание программных документов.

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

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

Для решения поставленных задач могут быть использованы средства математического моделирования надежности ПС. Этой теме уделяется большое внимание в научной литературе ([14, 27, 77, 93]). Было разработано большое количество различных моделей для оценивания и предсказания надежности ПС. Однако, как показано в первом разделе, модели надежности обладают рядом недостатков, ограничивающих их »использование для решения названных задач:

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

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

• модели невозможно использовать для обоснования стратегий испытаний и распределения ресурсов тестирования между модулями ПС.

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

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

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

• обоснование показателей надежности ПС;

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

• обоснование математических соотношений для перехода от вероятностных характеристик ПС к показателям их надежности;

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

• разработка методики задания исходных данных для моделирования надежности и планирования испытаний ПС;

• разработка комплекса программ расчета надежности и планирования испытаний ПС.

Основные научные результаты, выносимые на защиту:

• комплекс моделей для расчета показателей надежности ПС, основанный на использовании распределений фазового типа; I

• модели надежности ПС для обоснования выбора стратегий испытаний ПС;

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

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

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

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

В качестве методов исследования использована теория надежности, теория массового обслуживания, математическая статистика, теория вероятностей.

5 8

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

Заключение диссертация на тему "Модели надежности и планирования испытаний программных средств"

5.5. Выводы по разделу

Результаты исследований нашли применение при разработке и тестировании ряда ПС (учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей», программных проектов ООО «Эксиджен Сервисис» ЬаЫса и 81агТгек, комплекса горочного микропроцессорного Ростовского филиала ОАО «ВНИИАС»).

Результаты внедрены в учебный процесс Петербургского государственного университета путей сообщения, нашли отражение в учебном пособии «Модели надежности программного обеспечения» [88].

Разработанные модели надежности ПС на основе распределений фазового типа использованы для моделирования надежности ПС по исходным данным о временных характеристиках процессов поиска и 6

1I.I11I т—-10 5 10 15 20 25 30 35 40 Р(0)=0.2 Р(б)=0.5 Время тестирования, час.

45 50 Р(50)=0,99 устранения ошибок, собранных при разработке программного обеспечения проекта ЬаЬка ООО «Эксиджен Сервисис» и учебного курса ПГУПС. Выполнен расчет показателей надежности ПС, представлены графики их зависимости от времени испытаний. Выполнено моделирование изменения показателей надежности при использовании трех различных базовых стратегий испытаний ПС. Данная информация может быть использована менеджерами проектов для планирования, распределения работ и ресурсов, определения сроков выпуска продукта.

Результаты исследований имеют следующий практический эффект:

• повышение точности моделирования надежности ПС до 8-12% (за счет использования разработанных обобщенных моделей надежности);

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

• возможность выбора и обоснования стратегий испытаний;

• повышение эффективности планирования испытаний многомодульных ПС до 5%.

Заключение

В результате решения поставленной в работе научно-технической задачи получены следующие научные и практические результаты:

• разработана экспоненциальная модель надежности ПС Л/(/)/М(/)/7У;

• разработан комплекс обобщенных моделей надежности ПС Н2{1)1МЦ)Ш, Ж(0/Я2(/)/Ж, Е2{1)1Е2(])1Ы, С2(7)/С2(/Ж и др. на основе распределений фазового типа;

• разработаны модели для обоснования стратегий испытаний ПС;

• получены математические соотношения для вычисления показателей надежности с использованием результатов моделирования;

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

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

• выполнена оценка надежности проекта ЬаЬка, разработанного ООО «Эксиджен Сервисис», и учебного курса «Управление качеством при разработке программного обеспечения на основе современных стандартов и моделей»;

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

• разработан комплекс программ расчета надежности и планирования испытаний программных средств.

Внедрение результатов исследования позволяет получить следующий эффект:

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

Библиография Тырва, Алексей Владимирович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Asad С. A., Ullah M. I., Rehman M. J.-U. An Approach for Software

2. Reliability Model Selection // Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC'04), 2004. P. 534-539:

3. Bansiya J., Davis C. A Hierarchical Model for Object-Oriented Design Quality Assessment // IEEE Transactions on Software Engineering, 2002, V. 28, Iss. 1. P. 4-17.

4. Basili V.R., Briand L.C. A validation of object-oriented design metrics as quality indicators,// IEEE Transactions on Software Engineering, 1996, V. 22, Iss. 10. P. 751-761.

5. Briand.L., Devanbu, P., Melo, W. An Investigation into Coupling Measures for С++ // Proceedings of the 1997 (19th)'International Conference on Software Engineering, 1997. P. 412-421.

6. Cheung R. C. A User-Oriented Software Reliability Model // IEEE Transactions On Software Engineering, 1980, Y. 6, Iss. 2. P. 118-125.

7. Chidamber S.R., Kemerer C.F. A metrics suite for object oriented design // IEEE Transactions on Software Engineering, 1994, V. 20, Iss. 6. P. 476^93.

8. Cox P.R. A use of complex probabilities in the theory of stochastic processes // Proc. Cambr. Soc, 1955, V.51. P. 313-319.

9. Darcy D.P., Kemerer C.F. OO Metrics in Practice // Software, 2005, V.22, N. 6. P. 17-19.

10. E1-Emam K., Mclo W., Machado J.G. The prediction of faulty classes using object^oriented'design metrics // Journal of Systems and Software, 2001, V. 56. P. 63-75.

11. Fair W. Software: Reliability & SMERFSA3. A Methodology and: Tool for Software Reliability Assessment Электронный ресурс.; Goddard Space Flight: Center NASA, 2002. Режим доступа: http://www.slingcode.com/smerfs/downloads/NASATrainingMar2002.zip.

12. Fenton N.E., Neil, M. A critique of software defect prediction models // IEEE Transactions on Software Engineering, 1999, V. 25, Iss. 5. P. 675-689:

13. Genero Ml, Piattini M., Caleron C. A survey of metrics for IJML class diagrams // Journal of Object Technology, 2005, V. 4, N. 9. P. 59-92.

14. Guo P., Lyu M.R. Software Quality Prediction Using Mixture Models with I'M Algorithm // Proceedings of the The First Asia-Pacific Conference on Quality Software, 2000. P. 69-78.

15. Hosmer D. W., Lemeshow S. Applied Logistic Regression, Second Edition: -New York: Wiley, 2000. 392 p. .

16. Huang C.-Y., Huang W.-C. Software Reliability Analysis and Measurement Using Finite and Infinite Server Queuing Models // IEEE Transactions On Reliability, 2008, V. 57, N. 1. P. 192-203.

17. Jelinski Z., Moranda P.B. Software Reliability Research // Proceedings of the Statistical Methods for the Evaluation of Computer System Performance. Academic Press, 1972. PI 465-484.

18. Kan S.H. Metrics and Models in Software Quality Engineering, Second Edition..-Addison Wesley, 2002.-344p.

19. Khomonenko A.D., Bubnov V.P. A use of Coxian distribution for iterative solution' of M/G/n/R<oo queueing systems // Probl. Of Control and Inform: Theory, 1985, V. 14, N 2. P. 143-153.

20. Khoshgoftaar T. M., Munson J. C., Bhattacharya B. B., .Richardson G. D. Predictive Modeling Techniques of Software Quality from Software Measures // IEEE Transactions on Software Engineering, 1992, V. 18, Iss. 11. P. 979987.s

21. Khoshgoftaar T.M., Woodcock T.G. Software Reliability Model Selection: A Case Study // Proceedings of International Symposium on Software Reliability Engineering, 1991. P. 183-191.

22. Lee A. T., Gunn T., Pham T., Ricaldi R. Software Analysis Handbook: Software Complexity Analysis and Software Reliability Estimation and Prediction. Technical Memorandum 104799: National Aeronautics and Space Administration, 1994. 91 p.

23. Li S., Yin- Q., Guo P., Lyu M. R. A hierarchical mixture model for software reliability prediction // Applied Mathematics and Computation, 2007, V. 185, Iss. 2. P. 1120-1130.

24. Littlewood B., Verrall J. A Bayesian Reliability Growth Model for Computer Software // Journal of the Royal Statistical Society, series C, V. 22, N. 3, 1973. P. 332-346.

25. Lyu M.R. Handbook of Software Reliability Engineering. McGraw Hill, 1996.-819 p.

26. Classes Developed Using Highly Iterative or Agile Software Development Processes // IEEE Transactions on Software Engineering, 2007, V. 33, N. 6. P. 402-419.

27. PuIlum L.L. Software Fault Tolerance Techniques and Implementation. -Artech House, 2001. 360 p.

28. Wallace D.R. Practical Software Reliability Modeling // 26th Annual NASA Goddard Software Engineering Workshop, 2001. P. 147-155.

29. Wang W.-L., Wu Y., Chen M.-H. An Architecture-Based Software Reliability Model // Proceedings Of Pacific Rim International Symposium on Dependable Computing, 1999. P. 143-150.

30. Wohlin C. Estimation of Software Reliability Growth Model Parameters Электронный ресурс.: Proceedings of Workshop on Reliability Analysis of System Failure Data, 2007. Режим доступа: http://www.deeds.informatik.tu-darmstadt.de/papers/claeswohlin.pdf.

31. Yadav A., Khan R. A. Critical Review on Software Reliability Models // International Journal of Recent Trends in Engineering, 2009, V. 2, N. 3. P. 114116.

32. Yang В., Yao L., Huang H.-Z. Early Software Quality Prediction Based on a Fuzzy Neural Network Model // Third International Conference on Natural Computation, 2007. P. 760-764.

33. Yao L., Yang B. An Approach to Early Prediction of Software Quality // Journal of Electronic Science and Technology of China, 2007, V. 5 N. 1. P. 2328.

34. Благодатских B.A., Волнин B.A., Поскакалов К.Ф. Стандартизация разработки программных средств: Учеб. пособие. — М.: Финансы и статистика, 2005. —288 с.

35. Бочков К.А., Харлап С.Н., Шевченко Д.Н. Обзор методов и средств анализа на функциональную безопасность систем ЖАТ // Юбилейная научно-техническая конференция «Инновации на железнодорожном транспорте-2009», 2009. С. 48-58.

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

37. Бубнов В.П., Тырва A.B., Хомоненко А.Д. Обоснование стратегии отладки программ на основе нестационарной модели надежности // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета, 2010, № 2(97). С. 85-92.

38. Бураков В.В. Управление качеством программных средств. Монография. -Санкт-Петербургский государственный университет аэрокосмического приборостроения, 2009. 287 с.

39. ГОСТ 19.101—77. Единая система программной документации. Виды программ и программных документов.

40. ГОСТ 19.202—78. Единая система программной документации. Спецификация. Требования к содержанию и оформлению.

41. ГОСТ 19.301-78. Единая система программной документации. Программа и методика испытаний. Требования к содержанию и оформлению.

42. ГОСТ 19.401-78. Единая система программной документации. Текст программы. Требования к содержанию и оформлению.

43. ГОСТ 19.402-78. Единая система программной документации. Описание программы. Требования к содержанию и оформлению.

44. ГОСТ 19.501-78. Единая система программной документации. Формуляр. Требования к содержанию и оформлению.

45. ГОСТ 19.502-78. Единая система программной документации. Описание применения. Требования к содержанию и оформлению.

46. ГОСТ 19.505-78. Единая система программной документации. Руководство оператора. Требования к содержанию и оформлению.

47. ГОСТ 27.002-89. Надежность в технике. Основные понятия. Термины и определения.

48. ГОСТ 28195-89. Оценка качества программных средств. Общие положения.

49. ГОСТ Р 51901.15-2005. Менеджмент риска. Применение марковскихметодов.

50. ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств.

51. ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства, по ихприменению.

52. Калошин A.M., Пчелинцев JI.A., Кузнецов И.И., Ершов A.C. Наземная отработка космических аппаратов. М.: КомКнига, 2005. — 176 с.

53. Канер С., Фолк Д., Нгуен Е.К. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ. К.: Издательство «ДиаСофт», 2001. - 544 с.

54. Кузнецов В.В., Смагин В.А. Прямая и обратная задачи надежности сложных программных комплексов. — Надежность и контроль качества, № 10, 1997. С. 56-62.

55. Липаев В.В. Программная инженерия. Методологические основы. — М.: ГУ ВША, 2006. 608 с.

56. Микони C.B. Многокритериальный выбор на конечном множестве альтернатив. СПб.: Лань, 2009. - 272 с.

57. Орлов С.А. Технологии разработки программного обеспечения: Учебник для вузов. 3-е изд. СПб.: Питер, 2004. - 527 с.

58. Перечень программных средств, в отношении которых предусмотрена сертификация в Системе сертификации на федеральном железнодорожном транспорте (ССФЖТ), утвержден Первым заместителем Министра A.C. Мишариным, 2001.

59. Петрухин В.А., Лаврищева Е.М. Методы и средства инженерии программного обеспечения информация Электронный ресурс. Режим 1 доступа: http://www.intuit.ru/department/se/swebok/

60. Половко A.M., Гуров C.B. Основы теории надежности. СПб.: БХВ-Петербург, 2006. - 702 с.

61. Романюк С. Г. Оценка надежности программного обеспечения Электронный ресурс. // Открытые системы, 1994, № 4. Режим доступа: http://www.osp.ru/os/1994/04/178540/.

62. Рыжиков Ю.И. Имитационное моделирование. Теория и технологии. — СПб.: КОРОНА принт; М.: Альтекс-А, 2004. 384 с.

63. Рыжиков Ю.И. Эффективность и эксплуатация программного обеспечения. Министерство обороны СССР, 1985. —263 с.

64. Смагин В.А. Об одном методе исследования немарковских систем // Известия АН СССР. Техническая кибернетика, 1983, №6. С. 31-36.

65. Смагин В.А. Техническая синергетика. Вероятностные модели сложных систем СПб.: ВИКА им. А.Ф. Можайского, 2004. - 171 с.

66. Смагин В.А., Бубнов В.П., Филимонихин Г.В. Расчет вероятностно-временных характеристик пребывания задач в сетевой модели массового обслуживания // Известия ВУЗов. Приборостроение, 1989, Т. XXXII, № 2. С. 23-25.

67. Тамре J1. Введение в тестирование программного обеспечения.: Пер. с англ. М.: Издательский дом «Вильяме», 2003. - 368 с.

68. Тырва A.B. Анализ подходов к оцениванию качества программного обеспечения для железнодорожного транспорта // Шаг в будущее. Неделя науки-2008: материалы конференции, 2008. С. 152-156.

69. Тырва A.B. Методика задания исходных данных для моделей надежности программных средств железнодорожного транспорта // Известия Петербургского университета путей сообщения, 2010, № 2 (23). С. 250261.

70. Тырва A.B. Методика сертификационных испытаний программного обеспечения системы «Горочная автоматическая централизация микропроцессорная с ведением накопления вагонов в сортировочном парке (ГАД МН)» 86246294.50 5200 020-01, 2009. 18 с.

71. Тырва A.B. Методика сертификационных испытаний программного обеспечения комплексной системы автоматизации управлениякомпрессорной станцией (ПО КСАУКС) 86246294.50 5200 002-01, 2010. 25 с.

72. Тырва A.B. Разработка^ приложения для планирования проведения тестирования комплексов программ // Шаг в» будущее. Неделя науки-2009: материалы конференции, 2009. С. 178-180.

73. Тырва A.B., Хомоненко А.Д. Планирование проведения тестирования комплексов программ на основе проектных метрик сложности // Труды Всероссийской, научно-практической конференции «Транспорт-2009», 2009,4. 1.С. 80-82.

74. Холстед М. X. Начала науки о программах. — М.: Финансы и статистика, 1981.-128 с.

75. Хомоненко А.Д. Численные методы анализа систем и сетей массового обслуживания. Министерство обороны СССР, 1991. - 197 с.

76. Черкесов Г.Н. Надежность аппаратно-программных комплексов. Учебное пособие. СПб.: Питер, 2005. - 479 с.