УДК 681.3.061

ФОРСИРОВАННЫЕ БЫСТРОДЕЙСТВИЕМ

ИСПЫТАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА НАДЕЖНОСТЬ

В.А.СМАГИН

Предложена математическая модель оценивания надежности программного обеспечения в нормальных условиях функционирования на основе его предварительных испытаний на технологической ЭВМ с высоким быстродействием.

 

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

Физическое обоснование предложенного принципа в статье не было приведено, хотя, на наш взгляд, оно достаточно очевидно.Это следует, например, из результатов экспериментальных исследований, изложенных в книге [2]. Среднее время до отказа полупроводника по различ-ным причинам прямо пропорционально частоте переключения его состояний. С другой стороны, среднее время между сбоями и ошибками, по крайней мере, на порядок меньше среднего времени между отказами полупроводников, что также установлено экспериментально. Тем не менее, положения предлженного принципа форсированных испытаний у отдельных представителей программистов и схемотехников вызывают определенные возражения.

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

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

-имеет только одну реализацию,

-является случайным и нестационарным,

-обладает тенденцией к редению.

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

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

Рассмотрим основные допущения, используемые при моделировании ПО на этапе эксплуатации.

1.Любой отказ системы по вине ПО обусловлен только одним дефектом ПО.

2.Отыскание дефекта, приведшего к отказу системы, и его устранение осуществляется мгновенно.

3.В процессе устранения дефекта в ПО не вносится новый дефект.

4.Закон распределения длительностей интервалов между смежными отказами известен.

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

Модели потоков ошибок ПО достаточно подробно описаны в ряде источников. Поэтому рассмотрим методику построения модели ПО на примере одной из наиболее простых моделей данного типа. Построение модели включает:

-построение модели потока событий,

-получение в терминах модели выражений для показателей качества ПО,

-расчет показателей с использованием реальных статистических данных о функционировании ПО в составе системы,

-проверка адекватности модели реальным процессам функционирования системы.

Рассмотрим одну из самых ранних моделей ПО, которую в литературе часто называют по имени ее создателей моделью Джелинского-Моранды [4]. Однако отметим, что теоретические результаты для редеющего пуассоновского потока были получены еще в 60-е годы профессором Н.М.Седякиным [5]. Поэтому в дальнейшем будем называть данную модель моделью Седякина-Джелинского-Моранды.

Итак, рассмотрим импульсный поток. Импульсы потока на оси времени соответствуют появлению ошибок ПО в моменты

Интервалы времени между моментами появления импульсов обозначим через Они определяются по формуле

(1)

где число зафиксированных дефектов ПО. Обозначим через

параметр потока отказов ПО. Для моделирования потока отказов ПО будем используем указанные допущения. Конкретизируем их:

-случайные величины имеют экспоненциальное распределение,

-параметр потока меняется скачком на единицу при выявлении очередного дефекта,

-дефекты различных типов данного ПО проявляются с одинаковыми закономерностями.

Выражение для имеет следующий вид:

 

(2)

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

При принятых допущениях выражения для показателей надежности ПО имеют следующий вид:

1.Вероятность безошибочной работы ПО за время при условии, что до начала этого интервала выявлено и устранено дефектов ПО

(3)

2.Функция распределения времени до очередной ошибки

(4)

3.Средняя наработка на ошибку при условии выявления и устранения

дефектов . (5)

4.Плотность распределения длительности безошибочной работы ПО при условии, что выявлено и устранено дефектов

(6)

5.Вероятность устранения всех дефектов ПО за заданное время

(7)

где символ числа сочетаний по событиям из

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

(8)

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

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

По своему физическому смыслу -целочисленная величина. Однако, при решении рассматриваемой задачи условно полагаем ее непрерывной. Функция правдоподобия имеет вид:

(9)

где плотность распределения интервала Для получения оценок и необходимо взять частные производные от (9) по и

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

(10)

Использование формулы (10) позволяет существенно упростить полу-чение выражений для частных производных по и Для получения оценок и имеем систему уравнений максимального правдоподобия:

(11)

Отметим, что условие (11) является необходимым, но недостаточным условием достижения максимума функции правдоподобия.

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

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

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

(12)

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

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

Сделаем несколько замечаний о использовании формулы (7). Нетрудно убедиться, что начальное расчетное значение времени целесообразно определять по формуле:

(13)

Для значения времени рассчитанного по формуле (13), значение вероятности

(14)

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

Пример. В результате испытаний некоторого ПО зафиксировно ошибок c интервалами времени между ошибками :

В результате решения уравнений (11) найдены значения оценок:

Среднее время устранения всех ошибок ПО равно Вероят-ность безошибочной работы ПО в течение 10ч. составит

Вероятность устранения всех ошибок ПО за 3000ч., определенная по формуле (7), будет равна

Форсированные испытания программного обеспечения. Мы рассмотрели определение показателей надежности ПО на основе математической модели Седякина-Джелинского-Моранды. Отметим, что статистические данные для этой модели-времена между ошибками-связаны с одним, строго определенным режимом эксплуатации ПО, а именно со штатными условиями эксплуатации. Это формально можно представить как:

(15)

где штатный режим эксплуатации ПО.

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

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

На основании сформулированных допущений мы вправе полагать, что случайные величины –длительности интервалов между ошибками-являются некоторыми функциями, зависящими от быстродействия ЭВМ:

  (16)

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

(17)

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

(18)

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

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

(19)

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

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

(20)

где: соответственно запас прочности, скорость его и время рас-

термин заимствован из теории автоматического регулирования.

хода. Этот инвариант можно использовать в качестве уравнения для пересчета характеристик надежности от одного условия нагружения системы к другому.

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

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

(21)

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

Пример. Предположим, что форсированные быстродействием испытания проведены на технологической ПЭВМ с быстродействием, в 10 раз превышающим быстродействие штатной ПЭВМ. Зафиксированы 5 ошибок со следующими длительностями времени между ошибками:

Эти числовые данные являются уменьшенными в 10 раз числовыми данными предыдущего примера. В результате решения уравнений максимального правдоподобия (11) получены следующие оценки:

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

 

Вероятность безошибочной работы ПО в течение 10 часов составит:

Вероятность устранения всех ошибок ПО за 3000ч., будет равна:

Если перейти к штатному режиму функционирования ПО, товремя непрерывного функционирования следует уменьшить в 10 раз и тогда вероятность его безошибочного функционирования будет равна Алгоритмическая ошибка метода в данном случае составит около 5%. Данный пример, конечно, имеет академический, иллюстративный характер!

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

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

В рамках этой статьи можно поставить некоторые вопросы:

1. Справедлив ли инвариантный подход при форсированных испытаниях сложных программных комплексов и живых систем-систем операторов? (информационных систем?).

2. Что должно лежать в основе инвариантов: сохранение энергии, количества информации или что-то иное?

3. Как строить технологические вычислительные средства, сохраняющие все свойства вычислительных процессов штатных средств?

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

 

Литература

1. Смагин В.А. Об одном физическом принципе форсированных испытаний программного обеспечения на надежность.- На сайте  http://Sir1.da.ru/

2. Литвинский И.Е.,Прохоренко В.А.Обеспечение безотказности персональных ЭВМ.-М.: Радио и связь,1993.-208с.

3. Смагин В.А. Физический принцип надежности. Обратная задача. -АВТ,1975,№5. C.22-28.

4. Software reliability model valuation.-Processing Annuel Reliability and Maintainability Symposium,1980.P.191-197.

5. Goel A.L.,Okumoto K. Time dependent error-detection rate model for software reliability and other performance measures.- Trans., IEEE 1975, v. R-28,3.P.206-209.

6. Липаев В.В. Надежность программных средств.-М.: Синтег,1998.-232с.

 

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

UDC 658.5.011.56

519.9

 

The tests forced by speed of the software for reliability

 

SMAGIN V.A.

The abstract

The mathematical model estimation of reliability of the software in normal condition of functioning is offered on the basis of his preliminary tests on the technological computer with high speed.

 

Назад

Только подписка гарантирует Вам оперативное получение информации о новинках данного раздела


Желтые стр. СИРИНА - Новости - подписка через Subscribe.Ru

Copyright © КОМПАНИЯ ОТКРЫТЫХ СИСТЕМ. Все права сохраняются.
Последняя редакция: Декабрь 09, 2009 13:45:01.