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

Метод оценки показателя надежности программного обеспечения автоматизированной системы подготовки данных управления летательными аппаратами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
137
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫЧИСЛИТЕЛЬНАЯ ВЕТВЬ / COMPUTATIONAL BRANCH / ВЫЧИСЛИТЕЛЬНАЯ ТРАЕКТОРИЯ / НАДЕЖНОСТЬ / RELIABILITY / ОШИБКА / ERROR / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / SOFTWARE / ЭТАЛОН-РЕЗУЛЬТАТ / REFERENCE RESULT / COMPUTATIONAL PATH

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Method for estimating the reliability index of automated system software for aircraft control data preparation

The most complicated component of automated system for aircraft control data preparation is software. The likely reason for the interruption of the data preparation process is the presence of errors in the software, which may take a long time to resolve.Early elimination of these errors is an extremely important task. The degree of error elimination is determined by the value of the reliability index. The problem of assessment of the software reliability index is up to date, since there is no generally accepted technique for estimating this indicator. Based on the results of the analysis of existing software reliability models, it is shown that none of them can be used to estimate the software reliability index of an automated data preparation system. The proof of the correctness of using the methods of probability theory for the estimation of the indicator under consideration is presented. The theorem about a bijection (one-to-one correspondence) between the set of variants of input data and the set computational trajectories is proved. The possibility of applying the method of probability theory in the geometric interpretation of the probability of occurrence of an event (error) for estimating the software reliability index follows from the theorem. The use of this method is correct, but it requires infinite time resources, which makes it unsuitable for practical application. A fundamentally different method for estimating the software reliability index is proposed. Using this method it is necessary to have a documentary evidence of the coverage level by test variants of the entire input data area from the permissible region. The advantage of the proposed method is that it does not require any assumptions, and the initial data for estimating the software reliability index have a clear physical meaning and can be obtained in practice

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

УДК 004.056.53

DOI: 10.18698/2308-6033-2018-6-1771

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

11 2 © А.Г. Андреев , Г.В. Казаков , В.В. Корянов

1ФГБУ «4 ЦНИИ» Министерства обороны России, г. Королев, Московская обл., 141091, Россия

2МГТУ им. Н.Э. Баумана, Москва, 105005, Россия

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

Ключевые слова: вычислительная ветвь, вычислительная траектория, надежность, ошибка, программное обеспечение, эталон-результат

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

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

Формализацию программного обеспечения АСПД представим в виде орграфа Г, размеченного над алфавитами В и и, где В = В1 и В2; В\ П В2 = 0, здесь В1 — операторный подалфавит, символами которого являются операторы; В2 — логический подалфавит, символами которого являются логические символы; В — базис; и — алфавит, и = {0, 1}, где 0 — условие выполнено; 1 — условие не выполнено.

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

• множества @а состояний £^ программы;

• соответствия ау: 0а ^ 0а, уе В1;

• соответствия а : @а ^ и,реВ2.

Множество всех графов, размеченных над алфавитами Вии, обозначим Г*. Тогда пара (Г, а), где Ге Г*, является формальной моделью программы [1].

Если движение по графу Г завершается на его выходе, то программа (Г, а ) останавливается на данном состоянии £ е @а с выходом Е(Г, а, £ ); в противном случае выход программы считается неопределенным.

Программа выдает правильный результат, если выполняется условие

аЬв [Ртр (Г, а, £)-Е (Г, а, £)}<в, (1)

где аЬБ — символ абсолютной величины; Етр(Г, а, £ ) — требуемый выход программы (эталон-результат); в — допустимое отклонение полученного результата от требуемого.

Программа выдает неправильный результат (или результат не выдается), если выполнены условия

(аЬв {етр (Г, а, £)- Е (Г, а, £)} > в). (2)

Пример формализованного представления программы в виде орграфа, размеченного над алфавитами В и и, показан на рис. 1.

Рис. 1. Пример представления программы в виде орграфа Г

Представление структуры программы в виде орграфа, размеченного над алфавитами В и и, позволяет рассматривать ее в виде некоторой конечной совокупности подструктур. Действительно, как отмечено в работе [2], всякая программа П представима в виде последовательности операторов для любого варианта х, входных данных:

П(^) = Рх о Р2 о ... о Рп о ... о Ры,

где Рп — операторы программы, п е 1, N = (1, 2,..., Ы); N — множество всех вершин графа Г; « о » — символ вида соединения операторов в программе в соответствии с логикой ее функционирования а.

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

Введем необходимые определения.

Обозначим Х множество входных вариантов данных, для преобразования которых программа (Г, а ) имеет смысл. Введем определение допустимого множества входных данных для программы (Г, а ).

Определение 1. Допустимым множеством для программы (Г, о ) является такое подмножество Хдоп е Х множества Х, для каждого элемента которого отображение F (Г, о, £ ) является всюду определенным, т. е. программа остановится на некотором состоянии £ е 0о с выходом Y = F (Г, о, £ ).

В общем случае один и тот же оператор программы Рп в процессе получения выходной величины для некоторого варианта входных данных х-е Хдоп может использоваться несколько раз. В символах Рп введем верхний индекс (индекс вхождения), который определяет, сколько раз использовался этот оператор для некоторого варианта входных данных х-е Хдоп (0 — не использовался, (l ) — использовался l-й раз, (+l ) — повторное использование оператора l раз подряд). Формальную запись последовательности выполнения операторов

программы для варианта входных данных хi е Хдоп обозначим В0:

во = Kxi (Pn) = ( Pi(1) ° °... ° P l} °... ° P(+l l ° Pll °... ° PN1}),

где nxi (•) — операция упорядочения последовательности выполнения операторов Рп программы; N — число различных номеров операторов Рп, выполняемых при движении по графу от вершины s к вершине t, которое определяется семантикой программы о при входном варианте данных хг-.

Граф Г представлен в виде упорядоченной пары < B, V >, где В — непустое множество вершин, а V — множество упорядоченных пар {(a, b)} е ВхВ дуг графа [3].

Доказательство возможности применения геометрической интерпретации вероятности для оценки показателя надежности ПО. Используя представление программы в виде орграфа, размеченного над алфавитами В и U, дадим определения подструктуры программы, вычислительной ветви программы (ВВП) и вычислительной траектории программы (ВТП).

Определение 2. Под структурой программы Ц- = П (хг- е Nx), порожденной некоторым множеством Nx вариантов входных данных NxeХдоп из допустимой области, называется частичный орграф Нх- = (Вх-, Vxi), Вх- е В, Vxj е V, содержащий путь s-t, вершинами которого служат операторы Рп (х- е Nx е ХДоп).

Определение 3. Вычислительной ветвью программы называется одна и та же конечная последовательность B0 операторов подструктуры программы Н„, порожденная хотя бы одним вариантом входных данных х- е Хдоп (i = 1,1) из допустимой области.

Определение 4. Вычислительной траекторией программы называется конечная последовательность

в:=nxi (рп)=( pf °... ° pnm) °... ° p^tih °... ° pNk})

операторов подструктуры программы Hxi, порожденная ровно одним вариантом входных данных xi из допустимой области Хдоп (xie Хдоп).

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

Введем следующие подмножества: подмножество ВТП B:, для которых программа выдает правильный результат (1), и подмножество ВТП в:, для которых программа выдает неправильный результат (2). Множество всех подмножеств B: обозначим {в^ }, а множество всех подмножеств Bу — {в^ }. Множество всех ВТП

программы обозначим {вХи} = } U В}.

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

Лемма 1. Если заданы разбиение множества Хдоп на конечное число подмножеств:

Хдоп - {Х(доп)1, X(доп)2, ..., Х(доп)£}

и бинарное отношение Аф — «иметь правильный результат», определенное на множестве выходов программы, порождаемых множеством ВТП, то Аф является отношением эквивалентности.

Доказательство. Поскольку объединение всех классов разбиения совпадает с множеством Хдоп, то любой элемент xi, порождающий вычислительную траекторию в:, входит в некоторый класс подмножеств Х(доп^ (i = 1, 2, ..., I, ..., L). Следовательно, имеет место отношение xi Аф xi, т. е. отношение Аф рефлексивно.

Если разные элементы xi и Xj, порождающие ВТП в: и в^, входят в один и тот же класс подмножеств Х(доп^, то элементы Xj и xi

входят в этот же класс, т. е. из отношения xi Аф Xj вытекает, что имеет место и отношение Xj Аф xit откуда следует симметричность отношения А ф.

Пусть выполнены отношения xi Аф Xj и Xj Аф xz. Это означает, что для всех трех входных вариантов данных Xi, Xj, Xz, порождающих вычислительные траектории Б:, Б^, в:, программа выдаст правиль-

ный результат. Следовательно, все они принадлежат одному и тому же подмножеству Х(доп^ и имеют место отношения хj Аф х/, х/ Аф х2

и Афхг, т. е. отношение Аф транзитивно.

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

Лемма 2. Пусть дано сюръективное отображение ф: Хдоп ^ (b,*^и J

множества Хдоп на множество (в^ J. Тогда для любых ВТП, для которых ф (хг) = £ и ф (у) = л: либо

(Хдоп)£ П (ХдопХ| = 0

либо

(Хдоп)£ = (Хдоп)Л.

Здесь (Хдоп)£ — множество всех элементов хге Хдоп, имеющих образ £ = ф (х) (Хдоп)л — множество всех элементов у/ е Хдоп, имеющих образ л = ф Су/).

Доказательство. Доказательство проведем от противного, т. е. допустим, что пересечение множеств (Хдоп)£ П (Хдоп)л ^ 0. Выберем какую-либо ВТП B* (z), порожденную элементом z, принадлежащую пересечению множеств B* (z)e [(Хдоп)£П (Хдоп)л]. Тогда выполнены отображения B*j (хг)Аф B* (z) и B* ( »)Аф B* (z) по определению множеств (Хдоп)£ и (Хдоп)л. Согласно лемме 1, из свойства симметричности отображения Аф имеем отображение B* ^)АфB* (у/), а из свойства транзитивности этого отображения имеем, что из отображений B* (х)АфB* (z) и B* (z)АфB* (у) следует B* (х)АфB* (у/).

Выберем произвольную ВТП B*? (ш), порожденную элементом ш, B*?(q) е (Хдоп)л. По определению отношения Аф имеем B* (у/)АфB*? (ш). Но из отображений B* (хг)АфB* (у) и B* (у^А,^B*? (ш) следует B*j (хг)АфB*? (ш), т. е. B*? (ш) е (Хдоп)£. Итак, получено условие

( Хдоп )л Е (Хдоп)£. (3)

Выберем произвольную ВТП B* (х ), порожденную элементом х, B* (х )е (Хдоп)£. Для этого элемента выполнено отображение B*X (х^фB* (X ). Из леммы 1 следует, что отношение Аф является сим-

метричным и справедливо отображение вy (у})Афв: (х). Но из отображений в: (у})Аф в: (х) и в: (хг)Афв: ( х ) вытекает в^ (у)Афв* ( X ). Значит, в,Х ( х )G (Хдоп)ц и имеет место условие

(Хдоп ^ ^ (Хдоп \ . (4)

Поскольку условия (3) и (4) выполняются одновременно, то (Хдоп)£ ^ (Хдоп)ц, что и требовалось доказать.

Теперь можно сформулировать и доказать следующую теорему. Теорема. Пусть имеет место сюръективное отображение ф:

Хдоп ^{в^}. Тогда существует отношение эквивалентности Аф на

множестве Хдоп, такое, что между фактор-множеством Хдоп/Аф множества Хдоп по отношению Аф и множеством всех ВТП программы

{в^ } существует биекция.

Доказательство. Пусть на множестве Хдоп введено отношение Аф «иметь правильный результат». Следовательно, имеет место отображение в: Аф в: для двух разных вычислительных траекторий в:

и в:, если ф (в:) = ф (в:).

Обозначим как (Хдоп)£ множество всех элементов x,, порождающих ВТП в: (хг)е Хдоп, которые имеют образ £ = ф (в: ), а как (Хдоп)л —

множество всех элементов у, порождающих ВТП в: (у)е Хдоп, которые имеют образ ц = ф (в: ).

Множество всех подмножеств {(Хдоп)£} и |(Хдоп)л) покрывает множество Хдоп, т. е. {(ХдопМ = U (ХдопК = Хдоп, (^ = £ U ц),) так

х^»}

как любая ВТП для варианта входных данных из множества Хдоп, в силу сюръекции, имеет образ.

Из леммы 2 следует, что при разных элементах ф (в^1) = £ и

ф ( в: ) = ц имеет место условие (Хдоп)£ П (Хдоп)ц = 0.

Поскольку отображение ф сюръективно, то (Хдоп)£ ^ 0 для любой ВТП в: (х,), для которой £ = ф { (хг)}.

Итак, множества (Хдоп)£ образуют разбиение множества Хдоп, а отношение Аф есть эквивалентность, соответствующая этому разбиению. Из леммы 1 следует, что отображение (хг)Афв: (у) имеет место тогда и только тогда, когда ВТП в: (x,) и в: (у) принадлежат общему множеству (Хдоп)£. Отсюда следует, что между множеством

{(Хдоп -{(Хдоп и {(Хдоп )л}

и подмножествами {Ву} и {Ву} всех вычислительных траекторий {В£и} = В} и {Ву } существует биективное соответствие:

V: {(Хдоп)х}^{вх^}. (5)

Теорема доказана.

Биективное отношение (5) определяет мозаичную модель входной области программы (Г, а), представленную на рис. 2. Термин «мозаичная модель надежности ПО» введен Б.П. Пальчуном. В соответствии с этой моделью можно считать, что входные данные и порождаемые ими в силу соответствия (5) подмножества вычислительных траекторий {ву }, для которых программа выдает неправильный

результат, образуют некоторый «объем» в многомерном пространстве допустимых входных данных Хдоп.

Рис. 2. Мозаичная модель входной области программы (Г, а)

Используя геометрическую интерпретацию вероятности события и мозаичную модель входной области программы (Г, а ), можно получить выражение для оценки показателя надежности ПО в виде вероятности Рпо правильного функционирования программы на всем допустимом множестве входных вариантов данных {в^и } = {ву } и {в®}:

^по = 1 --

м - ву "

м - Вх* \

(6)

где М[ Ву ] — мощность множества всех вариантов входных данных, для которых программа (Г, а ) выдаст неправильный результат, — см. (2); М [ Ваи ] — мощность множества всех вариантов входных данных из допустимой области.

Выражение (6) определяет точное значение оценки РПО.

Порядок мощности множества допустимых вариантов входных данных для ПО вычислительного типа АСПД в первом приближении можно оценить как 10 30...1054, что является «практической бесконечностью». Мощность множества М [ Б^ ] составляет единицы, поскольку количество вычислительных траекторий (ветвей), дефекты в которых приводят к невыполнению ПО возложенных на него функций (отказам ПО), незначительно. Таким образом, значение Рпо, вычисляемое по точной формуле (6), практически равно единице.

С формальной точки зрения ПО осуществляет некоторое преобразование Е варианта входных данных из допустимой области Хдоп. Преобразование Е определяется алгоритмом функционирования ПО, который зависит как от варианта входных данных хе Хдоп из допустимой области, так и от параметров состояния программы £ (вычислительного процесса), образующих некоторую область I. Выход ПО У является сложной функцией от допустимой области входных данных Х ^ Хдоп и от параметров состояния:

У = Е(Г, а, £) = Е{X, /((х))},

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где £ е 0а — множество состояний программы, определяемое входными вариантами данных хе Хдоп и ее семантикой а; / — функция перехода программы из одного состояния в другое.

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

Анализ существующих моделей надежности ПО. Существует множество определений понятия надежности ПО, которые приведены, например, в работах [4-8]. Наиболее корректное определение надежности ПО дал Г. Майерс в работе [4]. Но даже это определение имеет ряд недостатков, которые сводятся к следующему. Во-первых,

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

Дадим более корректное определение надежности ПО.

Определение 5. Надежность ПО — это его свойство выдавать правильный результат (1), если варианты входных данных принадлежат допустимой области.

Если отказ ПО определить как выполнение условий (2), то первое из этих условий остается неопределенным, так как необходимо знать заранее или определить вид желаемого выхода программы F* (Г, а, £ ). Для простых программ вычислительного типа значение F* (Г, а, £ ) может быть известно заранее (например, для программы, вычисляющей значения sin х).

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

Из всех неизвестных параметров моделей надежности ПО самым важным является число имеющихся в нем ошибок. Согласно работе [9], любая программа объемом более 6000 символов (операторов и операндов) содержит не менее двух ошибок.

Самой известной моделью надежности ПО является модель, разработанная Z. Jelinski и P.B. Moranda [5]. Однако, поскольку в этой модели используется теория надежности аппаратуры, она признана некорректной.

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

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

Метод оценки надежности ПО АСПД. Этот метод базируется на основных положениях нормативных документов [10-12], результатах исследований [13-15] и определяет порядок оценки надежности ПО АСПД на всех этапах его жизненного цикла.

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

Определение 6. Эталон-результат программы — ее желаемый выход, известный заблаговременно и не связанный с алгоритмами и языковыми средствами реализации программы.

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

Модель процесса оценивания показателя надежности ПО, представленная на рис. 3, соответствует документу [10] применительно к оценке показателя надежности ПО АСПД.

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

1. Установленные потребности в ПО определяются основными функциями ПО АСПД и его характеристиками, которые задаются в ТЗ на разработку ПО АСПД, равно как и требуемые значения показателя надежности ПО (ПО) как вероятности выдавать правильный результат и доверительной вероятности Ртр, на основе которых

определяется требуемое число его испытаний Ытр.

2. Спецификации требований к надежности ПО АСПД включают:

• алгоритмы функционирования каждого из компонентов ПО и ПО АСПД в целом;

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

• допустимые пределы в > 0 отличия выхода каждого из компонентов ПО и ПО АСПД в целом от соответствующих эталонов-результатов;

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

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

1. Установленные или предполагаемые потребности

Определение требований к надежности ПО

ГОСТ Р ИСО/МЭК 9126-93 и другая техническая информация

| 2. Спецификации | требований | к надежности | ПО АСПД

4. Продукция

или промежуточная

продукция

3. Выбор метрики

Разработка ПО

Ь

10. Организационно-технические требования

6. Определение

уровня ранжирования

5. Измерения

Измеренное значение

8. Определение критерия оценки

Установленный уровень

7. Ранжирование

9. Оценка

Рис. 3. Модель процесса оценивания надежности ПО АСПД

3. Выбор метрики производится на основании положения, состоящего в том, что показатель надежности ПО АСПД вычисляется только по результатам его тестирования на вариантах входных данных из допустимой области Хдоп. Метрикой является величина в в выражении (1).

4. В качестве промежуточной продукции рассматриваются отдельные компоненты ПО АСПД, а в качестве продукции — ПО в целом, но еще не прошедшее этапы тестирования и документальное оформление результатов тестирования.

5. Под измерениями понимается результат испытаний компонентов ПО или ПО АСПД в целом, который имеет вид хк (к = 1, 2, ..., К). Таким образом, можно считать, что испытания ПО АСПД соответствуют схеме Бернулли.

6. Выделяют всего два уровня ранжирования с использованием полученной оценки показателя надежности ПО АСПД ЕПо :

Рпо > РПО (при Р = Ртр),

Рпо < Ртр.

7. Ранжирование означает отнесение полученной оценки показателя надежности ПО АСПД к одному из двух установленных уровней ранжирования.

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

9. Оценку показателя качества ПО проводят в два этапа. На первом этапе разработчик составляет тестовые варианты (в количестве,

определенном в ТЗ значениями РПО и Ртр) и проводит испытания

ПО АСПД на этих вариантах. По результатам тестирования компонентов ПО или ПО АСПД в целом разработчик вычисляет границы доверительного интервала (р1, р2), в которых заключена неизвестная оценка р* показателя надежности ПО АСПД, при К испытаниях по формулам [16]

р* +0,5*2 /К -^р*(1 -р*)/К + 0,25(^2 /К2) Р1" 1+(¿р2/ к) ,

р * +0,5*2 / К + ^Р *(1 - Р*)/ К + 0,25(7р /К2) Р2" 1+(¿р2/ К) "

Доверительный интервал I р = (р1, р2). Если границы слишком велики, то анализируются причины получения отрицательных исходов испытаний и выполняется их устранение. После этого проводится серия испытаний компонентов ПО и ПО АСПД в целом и вновь вычисляются границы доверительного интервала. Процедура продолжается до тех пор, пока оценка показателя надежности ПО АСПД не будет соответствовать ТЗ.

На втором этапе ПО АСПД считается надежным, показатель надежности имеет требуемые значения. В связи с этим на втором этапе определяют не оценку верхней границы показателя надежности ПО АСПД р2, а требуемое число бездефектных испытаний Л^ф [16]:

Ытр М1 -Ртр )

^бдф - р ■

Р2

Если достигнуто требуемое значение и не выявлены ошибки, можно считать, что разработанное ПО АСПД действительно обладает требуемой надежностью.

Важно иметь в виду, что оценка показателя надежности ПО АСПД р2 не отражает относительного числа не выявленных в ПО ошибок. Например, ПО может содержать 100 ошибок. Если проведено большое число испытаний (например, 1 000 000) и ни одна из этих ошибок не проявилась, то по формуле (6) будет получено значение показателя надежности р2 = 0,0001. Все имеющиеся в ПО ошибки можно выявить только в том случае, если тестирование ПО АСПД проводить по всей допустимой области, мощность которой составляет примерно 1030. Но это будет детерминированный вариант оценки числа имеющихся в ПО ошибок, а не вероятность их проявления. Поскольку провести полное тестирование ПО АСПД не представляется возможным, утверждать, что показатель р2 отражает число оставшихся в ПО ошибок, нельзя. Этот показатель отражает лишь вероятность того, что при каком-либо варианте входных данных ошибки в ПО не проявятся.

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

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

сов, что делает его непригодным для получения оценки показателя надежности ПО АСПД.

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

ЛИТЕРАТУРА

[1] Подловченко Р.И. Иерархия моделей программ. Программирование, 1981, № 2, с. 3-14.

[2] Летичевский А.А. Функциональная эквивалентность дискретных преобразований информации. Кибернетика, 1969, № 2, с. 5-16.

[3] Евстигнеев В.А. Применение теории графов в программировании. Москва, Наука, 1985, 352 с.

[4] Майерс Г. Надежность программного обеспечения. Москва, Мир, 1980, 360 с.

[5] Jelinski Z., Moranda P.B. Software Reliability Research. Statistical Computer Performance Evaluation. New York, Academic Press, 1972, pp. 465-484.

[6] Характеристики качества программного обеспечения. Москва, Мир, 1981, 208 с.

[7] Казаков Г.В. Критерии анализа связанных выборок при испытаниях программного обеспечения АСУ. Двойные технологии, 2014, № 3, с. 59-63.

[8] Mills H.D. On the Statistical Validation of Computer Programs, FSC-72-6015. IBM Federal Systems Division. Gaithersburg, Maryland, 1972.

[9] Холстед М.Х. Начала науки о программах. Москва, Финансы и статистика, 1981, 128 с.

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

[11] ГОСТ Р ИСО/МЭК 15408-3-2013. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 3. Компоненты доверия к безопасности. Москва, Стандартинформ, 2014, 267 с.

[12] ГОСТ 28195-89. Оценка качества программных средств. Общие положения. Москва, Издательство стандартов, 2001, 30 с.

[13] Галактионов В.С., Знак В.А., Знак Н.Е., Казаков Г.В., Котяшев Н.Н., Сидоров А.В. О принципах испытания программного обеспечения АСУ двойного назначения с гибкими показателями эффективности. Стратегическая стабильность, 2009, № 3, с. 59-66.

[14] Казаков Г.В., Знак В.А., Данилин С.Б. Об одном подходе к формированию рационального множества тестовых вариантов на основе метода факторного анализа. Труды МИТ, 2015, т. 15, ч. 1, с. 114-119.

[15] Казаков Г.В. Метод оценки показателя надежности специального программного обеспечения комплексов средств подготовки данных по результатам испытаний на этапе разработки. Труды МИТ, 2015, т. 15, ч. 1, с. 102-113.

[16] Бордюков М.М., Галактионов В.С., Знак В.А., Знак Н.Е., Казаков Г.В., Сидоров А.В. Гарантированное оценивание конечного фазового состояния управляемых систем на заданном множестве достижимости. Двойные технологии,, 2009, № 4, с. 34-38.

Статья поступила в редакцию 21.03.2018

Ссылку на эту статью просим оформлять следующим образом: Андреев А.Г., Казаков Г.В., Корянов В.В. Метод оценки показателя надежности программного обеспечения автоматизированной системы подготовки данных управления летательными аппаратами. Инженерный журнал: наука и инновации, 2018, вып. 6. http://dx.doi.org/10.18698/2308-6033-2018-6-1771

Статья подготовлена по материалам доклада, представленного на XLII Академических чтениях по космонавтике, посвященных памяти академика С.П. Королёва и других выдающихся отечественных ученых — пионеров освоения космического пространства, Москва, 23-26 января 2018 года

Андреев Анатолий Георгиевич — канд. техн. наук, старший научный сотрудник ФГБУ «4 ЦНИИ» Министерства обороны России. Автор более 70 работ в области надежности автоматизированных систем управления. e-mail: kgv.64@mail.ru

Казаков Геннадий Викторович — канд. техн. наук, доцент, начальник управления ФГБУ «4 ЦНИИ» Министерства обороны России, почетный работник науки и техники Российской Федерации. Автор более 70 работ в области надежности автоматизированных систем управления. e-mail: kgv.64@mail.ru

Корянов Всеволод Владимирович — канд. техн. наук, доцент, первый заместитель заведующего кафедрой «Динамика и управление полетом ракет и космических аппаратов» МГТУ им. Н.Э. Баумана. Автор более 40 публикаций. e-mail: vkoryanov@bmstu.ru

Method for estimating the reliability index of automated system software for aircraft control data preparation

© AG. Andreev1, G.V. Kazakov1, V.V. Koryanov2

1Federal State Budgetary Institution 4th Central Research Institute of the Ministry

of Defence of the Russian Federation, Korolev, Moscow region, 141091, Russia 2Bauman Moscow State Technical University, Moscow, 105005, Russia

The most complicated component of automated system for aircraft control data preparation is software. The likely reason for the interruption of the data preparation process is the presence of errors in the software, which may take a long time to resolve. Early elimination of these errors is an extremely important task. The degree of error elimination is determined by the value of the reliability index. The problem of assessment of the software reliability index is up to date, since there is no generally accepted technique for estimating this indicator. Based on the results of the analysis of existing software reliability models, it is shown that none of them can be used to estimate the software reliability index of an automated data preparation system. The proof of the correctness of using the methods of probability theory for the estimation of the indicator under consideration is presented. The theorem about a bijection (one-to-one correspondence) between the set of variants of input data and the set computational trajectories is proved. The possibility of applying the method ofprobability theory in the geometric interpretation of the probability of occurrence of an event (error) for estimating the software reliability index follows from the theorem. The use of this method is correct, but it requires infinite time resources, which makes it unsuitable for practical application. A fundamentally different method for estimating the software reliability index is proposed. Using this method it is necessary to have a documentary evidence of the coverage level by test variants of the entire input data area from the permissible region. The advantage of the proposed method is that it does not require any assumptions, and the initial data for estimating the software reliability index have a clear physical meaning and can be obtained in practice.

Keywords: computational branch, computational path, reliability, error, software, reference result

REFERENCES

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[1] Podlovchenko R.I. Programmirovanie — Programming and Computer Software, 1981, no. 2, pp. 3-14.

[2] Letichevsky A.A. Kibernetika — Cybernetics, no. 2, 1969, pp. 5-16.

[3] Yevstigneyev V.A. Primenenie teorii grafov v programmirovanii [Application of the graph theory in programming]. Moscow, Nauka Publ., 1985, 352 p.

[4] Myers G.J. Software Reliability: Principles and Practices. New York, John Wiley Publ., 1976, 275 p. [In Russ.: Myers G. Reliability of the software. Moscow, Mir Publ., 1980, 360 p.].

[5] Jelinski Z., Moranda P.B. Software Reliability Research. In: Statistical Computer Performance Evaluation. Freiberger W., ed. New York, Academic Press Publ., 1972, pp. 465-484.

[6] Boehm B.W., Brown J.R., Kaspar H., Lipow M., MacLeod G.J., Merritt M.J. TRW Series on Software Technology. Volume 1: Characteristics of Software Quality. Amsterdam, North-Holland Publ., 1978 [In Russ.: Boehm B.W., Brown J.R., Kas-

par H. i dr. Kharakteristiki kachestva programmnogo obespecheniya. Moscow, Mir Publ., 1981, 208 p.].

[7] Kazakov G. V. Dvoynye tekhnologii [Double-Purpose Technology]. 2014, no. 3, pp. 59-63.

[8] Mills H. D. On the Statistical Validation of Computer Programs. FSC-72-6015, Gaithersburg, Md., IBM Federal Systems Div. Publ., 1972.

[9] Halstead M.H. Elements of Software Science. Amsterdam, Elsevier North-Holland, Inc. Publ., 1977, 128 p. [In Rus.: Halstead M.H. Nachala nauki o pro-grammakh. Moscow, Finansy i statistika Publ., 1981, 128 p.].

[10] GOST P ISO/IEC 9126-93. Informatsionnaya tekhnologiya. Otsenka pro-grammnoy produktsii. Kharakteristiki kachestva i rukovodstva po ikh primene-niu [RF standard P ISO/IEC 9126-93. Information technology. Assessment of program production. Characteristics of quality and a manual on their application]. Moscow, Gosstandart Russii Publ., 2004, 9 p.

[11] GOST P ISO/IEC 15408-3-2013. Informatsionnaya tekhnologiya. Metody

i sredstva obespecheniya bezopasnosti. Kriterii otsenki bezopasnosti infor-matsionnykh tekhnologiy. Chast 3. Komponenty doveriya k bezopasnosti [RF standard GOST P ISO/IEC 15408-3-2013. Information technology. Methods and means of ensuring security. Criteria for assessing the security of information technology. Part 3. Components of trust in security]. Moscow, Standartinform Publ., 2014, 267 p.

[12] GOST 28195-89. Otsenka kachestva programmnykh sredstv. Obshchie polozheniya [USSR State standard. Software quality assessment. General provisions]. Moscow, Izdatelstvo standartov Publ., 2001, 30 p.

[13] Galaktionov V.S., Znak V.A., Znak N.E., Kazakov G.V., Kotyashev N.N., Si-dorov A.V. Strategicheskaya stabilnost — Strategic stability, 2009, no. 3, pp. 59-66.

[14] Kazakov G.V., Znak V.A., Danilin S.B. Ob odnom podkhode k formirovaniu ratsionalnogo mnozhestva testovykh variantov na osnove metoda faktornogo analiza [On an approach to the formation of a rational set of test options based on the factor analysis method]. In: Trudy Moskovskogo instituta teplotekhniki [Proceedings of Moscow Institute of Heat Engineering]. Moscow, MIT Publ., 2015, vol. 15, part 1, pp. 114-119.

[15] Kazakov G. V. Metod otsenki pokazatelya nadezhnosti spetsialnogo pro-grammnogo obespecheniya komplekcov sredstv podgotovki dannykh po rezulta-tam ispytaniy na etape razrabotki [Method for estimating the reliability index of special software for data-preparation facilities based on test results at the development stage]. In: Trudy Moskovskogo instiyuta teplotekhniki [Proceedings of Moscow Institute of Heat Engineering]. Moscow, MIT Publ., 2015, vol. 15, part 1, pp. 102-113.

[16] Bordukov M.M., Galaktionov V.S., Znak V.A., Znak N.E., Kazakov G.V., Si-dorov A.V. Dvoynye tekhnologii [Double-Purpose Technology]. 2009, no. 4, pp. 34-38.

Andreev A.G. (b. 1941), Cand. Sc. (Eng.), Senior Research Fellow, Federal State Budgetary Institution 4th Central Research Institute of the Ministry of Defence of the Russian Federation. Author of over 70 research publications in the field of automated control system reliability. e-mail: kgv.64@mail.ru

Kazakov G.V. (b. 1964), Cand. Sc. (Eng.), Assoc. Professor, Head of the division, Federal State Budgetary Institution 4th Central Research Institute of the Ministry of Defence

of the Russian Federation, honorary worker of science and technology of the Russian Federation. Author of over 70 research publications in the field of automated control system reliability. e-mail: kgv.64@mail.ru

Koryanov V.V. (b. 1982) graduated from Bauman Moscow State Technical University in 2006. Cand. Sc. (Eng.), Assoc. Professor, Department of Space Flight Dynamics and Control, Bauman Moscow State Technical University. Author of over 40 research publications in the field of ballistics modelling and dynamics of spacecraft and descent vehicle motion. e-mail: vkoryanov@bmstu.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.