ОБОБЩЕННАЯ МОДЕЛЬ ПОТОКА РАЗНОТИПНЫХ ПРОГРАММНЫХ ОШИБОК ДЛЯ ОЦЕНИВАНИЯ НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Гусеница
Ярослав Николаевич,
к.т.н., преподаватель кафедры метрологического обеспечения вооружения, военной и специальной техники Военно-космической академии имени А.Ф.Можайского, г. Санкт-Петербург, Россия, [email protected]
£ О л л С
Ключевые слова:
командные пункты,
сложные военно-технические системы, ограниченный объем испытаний, надежность программного обеспечения, произвольное распределение, разнотипные программные ошибки.
В работе проведен анализ направлений обеспечения требуемого уровня эф-фективностибоевогоприменениясложныхвоенно-техническихсистем.Обозна-чена одна из проблем реализации опытно-конструкторских работ по созданию и модернизации средств вычислительной техники и программного обеспечения командных пунктов сложных военно-технических систем. Данные опытно-конструкторские работы, с одной стороны, позволяют расширить функциональные возможности сложных военно-технических систем, а с другой стороны, приводят к усложнению программного обеспечения командных пунктов. При этом усложнение программного обеспечения становится причиной появления в нем значительного количества программных ошибок, наличие которых приводит к снижению не только уровня надежности программного обеспечения командных пунктов, но и эффективности боевого применения сложных военно-технических систем. Обоснована актуальность задачи оценивания надежности программного обеспечения командных пунктов сложных военно-технических систем при ограниченном объеме испытаний. Проведен анализ существующих моделей надежности программного обеспечения. Выявлены их ограничения и допущения, не позволяющие их использовать для оценивания надежности программного обеспечения командных пунктов сложных военно-технических систем при ограниченном объеме испытаний. Предложена обобщенная модель потока разнотипных программных ошибок, позволяющая компенсировать указанные недостатки. Данная модель является дальнейшим развитием модели Шнейдевинда. Однако предлагаемая модель, в отличие от модели Шнейдевинда, комплексно учитывает ключевые закономерности между программными ошибками, отказами и надежностью программного обеспечения. Во-первых, формализована зависимость надежности программного обеспечения от набора входных данных. Для этого в модели Шнейдевинда конкретизирован коэффициент, характеризующий интенсивность определения программных ошибок, параметрами статической модели Нельсона. Во-вторых, математически описана возможность внесения новых программных ошибок при исправлении обнаруженных, а также формализовано условие того, что не каждая программная ошибка может быть обнаружена и исправлена. Это реализовано путем уточнения коэффициента, характеризующего оставшееся количество программных ошибок, параметрами модифицированной динамической модели Липова. В-третьих, учтена возможность проявления программных ошибок с разной частотой. В результате плотность распределения интервалов времени между проявлением программных ошибок обобщена на случай произвольных распределений. В-четвертых, формализована ситуация, что не каждая программная ошибка может привести к отказу программного обеспечения. Для этого все обнаруженные программные ошибки предлагается разделять на соответствующие типы, отличающиеся друг от друга критичностью последствий проявления в программном обеспечении. Кроме того, поток программных ошибок каждого типа необходимо моделировать отдельно. В результате обобщенная модель потока разнотипных программных ошибок может быть использована для оценивания надежности программного обеспечения командных пунктов сложных военно-технических систем при ограниченном объеме испытаний. Данная модель может быть применена при обосновании внедрения новейших достижений науки и техники в практику создания, отработки и испытаний программного обеспечения командных пунктов сложных военно-технических систем.
Введение
Анализ военных конфликтов последних десятилетий наглядно демонстрирует активное развитие эвентуальным противником не только вооружения, военной и специальной техники, способов и форм их боевого применения, но и новых концепций и сфер ведения войны. Данная тенденция обусловливает появление ранее неизвестных новых внешних угроз национальной обороны Российской Федерации, для парирования которых в настоящее время совершенствуются существующие и создаются новые сложные военно-технические системы.
Материальную основу сложных военно-технических систем составляют вооружение, военная и специальная техника, системы и комплексы военного назначения, энерго-механические и инженерно-технические комплексы, линии энергоснабжения, система боевого управления, представляющие собой совокупность взаимосвязанных технических объектов и персонала, объединенных в единую систему для решения поставленных перед ними задач по предназначению.
В настоящее время обеспечение требуемого уровня эффективности боевого применения сложных военно-технических систем реализуется по нескольким крупным направлениям. Одно из них связано с повышением качества подготовки военных специалистов в области эксплуатации тех или иных компонентов сложных военно-технических систем. По данному направлению основу составляет внедрение тренажерных комплексов и компьютерных обучающих систем в учебный процесс военных специалистов [1, 2].
Еще одним актуальным направлением обеспечения требуемого уровня эффективности боевого применения сложных военно-технических систем является автоматизация всего процесса боевой работы. Это в свою очередь достигается путем внедрения в процесс функционирования сложных военно-технических систем самых современных информационных технологий [3, 4], что объясняет наличие многочисленных опытно-конструкторских работ, направленных на разработку и модернизацию средств вычислительной техники и программного обеспечения командных пунктов сложных военно-технических систем.
Данные опытно-конструкторские работы, с одной стороны, позволяют расширить функциональные возможности сложных военно-технических систем, а, с другой стороны, приводят к усложнению программного обеспечения командных пунктов. При этом усложнение программного обеспечения становится причиной появления в нем значительного количества программных ошибок, наличие которых приводит к снижению не только уровня надежности программного обеспечения командных пунктов, но и эффективности боевого применения сложных военно-технических систем [5].
Известным способом повышения надежности программного обеспечения командных пунктов сложных военно-технических систем является проведение раз-
личных видов контроля и испытаний, которые позволяют получать статистическую информацию о программных ошибках, содержащихся в этом программном обеспечении [6-8]. Наличие и анализ такой информации является необходимым условием в принятии обоснованных решений о возможных сроках доработки программного обеспечения командных пунктов сложных военно-технических систем, а также нужном объеме экономических, временных и людских ресурсов на исправление обнаруженных программных ошибок.
Однако в настоящее время объем испытаний как самих сложных военно-технических систем, так и его компонентов значительно сокращается. Этому способствует высокая стоимость проведения натурных испытаний, ограниченность полигонных испытаний и полная невозможность проведения боевых работ на местах размещения сложных военно-технических систем. Особенно остро данный вопрос стоит при испытании программного обеспечения командных пунктов сложных военно-технических систем, т.к. реализация полного объема испытаний программного обеспечения командных пунктов возможна только до морального устаревания сложных военно-технических систем. Поэтому оценивание надежности программного обеспечения командных пунктов сложных военно-технических систем при ограниченном объеме испытаний является весьма актуальной задачей.
Для решения этой задачи в настоящее время используются модели надежности программного обеспечения. Но анализ этих моделей показывает, что они являются неадекватными реальному процессу функционирования программного обеспечения командных пунктов сложных военно-технических систем. Прежде всего, это связано с тем, что имеющиеся модели надежности программного обеспечения обладают чрезмерным количеством ограничений и допущений. Кроме того в каждой из моделей время безотказной работы программного обеспечения подчиняется какому-либо конкретному закону распределения, который практически невозможно подтвердить в случае неполной статистической информации о программных ошибках.
Все перечисленные выше обстоятельства не позволяют использовать имеющиеся модели для оценивания надежности программного обеспечения командных пунктов сложных военно-технических систем при ограниченном объеме испытаний. Следовательно, выходом из сложившейся ситуации является разработка модели, адекватной реальному процессу функционирования программного обеспечения командных пунктов сложных военно-технических систем.
Адекватность является мерой объективного соответствия модели познаваемому объекту исследования и характеризуется тем, насколько полно в модели отражены основные закономерности предметной области. К основным закономерностям между программными ошибками, отказами и надежностью программного
обеспечения командных пунктов сложных военно-технических систем можно отнести следующие [9]:
1. Надежность программного обеспечения зависит от набора входных данных.
2. Надежность программного обеспечения зависит от длительности испытаний.
3. Надежность программного обеспечения характеризуется частотой проявления программных ошибок. При этом известно, что программные ошибки проявляются с разной частотой. Кроме того несколько программных ошибок могут проявляться одновременно.
4. Число программных ошибок - величина «ненаблюдаемая», наблюдаются не сами программные ошибки, а результат их проявления - отказы. Поэтому не каждая программная ошибка может быть обнаружена и исправлена.
5. Программные ошибки могут компенсировать друг друга, так что после исправления какой-то одной программной ошибки могут быть внесены другие. В итоге уровень надежности программного обеспечения может стать ниже, чем до исправления этой программной ошибки.
6. Не каждая программная ошибка может привести к отказу программного обеспечения. С другой стороны отказ программного обеспечения может быть следствием не одной, а сразу нескольких программных ошибок.
Данные закономерности учитываются в обобщенной модели потока разно-типных программных ошибок. Эта модель является дальнейшим развитием модели Шнейдевинда, которая учитывает вторуюи частично третью (надежность программного обеспечения характеризуется частотой проявления программных ошибок) закономерности между программными ошибками, отказами и надежностью программного обеспечения. Согласно модели Шнейдевинда проявление программных ошибок описывается как неоднородный пуассоновский процесс с экспоненциально затухающей функцией интенсивности, для которого параметр потока программных ошибок определяется формулой (1), а плотность распределения интервалов времени между проявлением программных ошибок -формулой (2) [10]:
о (0 = фе-у,
где А - общее количество прогонов программного обеспечения; В - общее количество наборов входной информации; раЬ - вероятность использования Ь-го набора входной информации на а-м прогоне программного обеспечения; Д^ - время а-го прогона программного обеспечения; уь - динамическая переменная, принимающая значение «0», если при Ь-м наборе входной информации прогон программного обеспечения завершается программной ошибкой, «1» - если при Ь-м наборе входной информации прогон программного обеспечения завершается правильным результатом, то динамическая переменная принимает значение.
Чтобы учесть четвертую и пятую закономерности между программными ошибками, отказами и надежностью программного обеспечения, необходимо конкретизировать коэффициент ф параметрами модифицированной динамической модели Липова [18]:
<р--
¿-1
м м
(4)
(1)
(2)
где ф - коэффициент, характеризующий оставшееся количество программных ошибок в программном обеспечении; у - коэффициент, характеризующий интенсивность определения программных ошибок в программном обеспечении.
Для того чтобы учесть первую закономерность между программными ошибками, отказами и надежностью программного обеспечения, необходимо конкретизировать коэффициент у параметрами статической модели Нельсона:
где п( - количество обнаруженных и исправленных программных ошибок после (¿-1)-го интервала испытания программного обеспечения; - количество обнаруженных и неисправленных программных ошибок после (¿-1)-го интервала испытания программного обеспечения; р - вероятность внесения новой программной ошибки при исправлении обнаруженной.
Вероятность р может быть получена с использованием информации о текучести программного обеспечения автоматизированных систем управления войсками и оружием, которая отражает объем изменений в исходном коде, внесенных за период разработки, производства и сопровождения программного обеспечения. Текучесть программного обеспечения может быть вычислена следующим образом [12]:
„ V
р = 7'
где Ь - количество строк исходного кода в программном обеспечении; Ь' - количество добавленных, удаленных, измененных строк исходного кода.
Анализ работы [12] показывает, что корреляционный момент между текучестью программного обеспечения и вероятностью внесения программной ошибки составляет Крр=0,79 Поэтому вероятность внесения новой программной ошибки при исправлении обнаруженной может быть рассчитана по формуле:
у рр ь, г
Чтобы учесть полностью третью закономерность между программными ошибками, отказами и надежностью программного обеспечения, необходимо плот-
ность распределения (2) обобщить на случай произвольных распределений интервалов времени между проявлением программных ошибок. Для этого предлагается плотность распределения /(0 представить как среднее значение гипердельтной/д(() и гиперэкспоненциальной /э(0 плотностей:
до=
т+т
(5)
Гипердельтная плотность определяется на основе гипердельтной аппроксимации. В результате плотность распределения /(0 представляется как
где
С.,2 " 2
1±-
fd(t)= clô(t-Tl)+c2ô(t- T),
3v2v, -v3 -2v,
(6)
T = -
J3
sin fit >
(7)
где«:
2v, -v2
-1-й комплексно-сопряженный параметр;
ностью программного обеспечения, необходимо выполнить соответствующие преобразования.
Во-первых, все программные ошибки следует разделить на определенные типы, представленные в таблице 1 [11].
Таблица 1
Классификация типов программных ошибок
№ ~6у3У2У, -3УУ- + 4У^+4У^_ вероятности, удовлетворяющие условию С!+С2=1;
V, - у2у, + д/у32 -6у,у2у, -Зу;у?+4у3у? +4у32
2[у]
постоянные параметры;
¿(•) - дельта-функция Дирака.
При этом v1, у2 и у3 являются соответственно первым, вторым и третьим начальными моментами для интервалов времени между проявлением программных ошибок.
Гиперэкспоненциальная плотность может быть получена на основе метода последовательных фаз. В этом случае плотность распределения /(0 представляется суммой двух экспоненциальных плотностей с комплексно-сопряженными параметрами:
№ п/п Тип программной ошибки Описание
1. Слабый Нарушение эстетики программного обеспечения
2. Умеренный Некорректные выходные данные
3. Раздражающий Некорректное выполнение функций
4. Очень серьезный Выполнение не требуемых функций
5. Экстремальный Некорректные выходные данные при сетевой передаче
6. Невыносимый Некорректные выходные данные при записи в базу данных или в файл
7. Катастрофический Зависание программного обеспечения
8. Инфекционный Зависание операционной системы
Во-вторых, поток программных ошибок каждого к-го типа следует моделировать отдельно [11], т.е. выражение (8) должно быть преобразовано к следующему виду:
' С^-Т1к)+С23^-Т2к) +
Лк(0=-
р = Ч У[—*\2—2-й комплексно-сопряженный параметр.
Гипердельтная /д(?) и /■//) гиперэкспоненциальная плотности могут использоваться независимо друг от друга. Однако использование данных плотностей в выражении (5) дает более точные результаты. С учетом этого интенсивность проявления программных ошибок рассчитывается по следующей формуле:
(8)
где &(•) - функция Хевисайда.
Наконец, чтобы учесть шестую закономерность между программными ошибками, отказами и надеж-
-е ""'cos В Л
В-третьих, для каждого к-го типа программных ошибок необходимо определить критичность последствий их проявления в программном обеспечении. Она определяется через р°™К условные вероятности отказа программного обеспечения из-за проявления в нем программных ошибок к- го типа. Эти условные вероятности могут быть рассчитаны по экспериментальным данным, полученным в ходе отладки программного обеспечения командных пунктов сложных военно-технических систем [11]:
\тотк отк _ 1 _ к
Рк _ 1
Ncm
л т отк
где Ык - количество отказов программного обеспечения, к которым привели программные ошибки к-го типа в ходе отладки; Nк- количество программных ошибок к-го типа, обнаруженных в ходе отладки.
Имея значение интенсивности проявления программных ошибок каждого типа и критичности последствий их проявления, может быть рассчитана интенсивность отказов программного обеспечения [11]:
Таким образом, обобщенная модель потока разнотипных программных ошибок комплексно учитывает ключевые закономерности между программными ошибками, отказами и надежностью программного обеспечения, что позволяет ее использовать для оценивания надежности программного обеспечения командных пунктов сложных военно-технических систем при ограниченном объеме испытаний. Данная модель может быть применена при обосновании внедрения новейших достижений науки и техники в практику создания, отработки и испытаний программного обеспечения командных пунктов сложных военно-технических систем.
Литература
1. Петрич Д.О., Гусеница Я.Н., Кругляк Ю.Л., Озеров В.А. Автоматизированная система контроля знаний обучающихся в области технического обслуживания компьютерных систем и комплексов // Труды Военно-космической академии имени А.Ф. Можайского. 2014. № 644. С. 219-230.
2. Гусеница Я.Н., Кругляк Ю.Л., Петрич Д.О. Наклонный стенд технического обслуживания и ремонта персонального компьютера // Техника средств связи. 2014. № 3(142). С. 124-128.
3. Разумов А.В., Ермаков С.Г., Петрич Д.О., Гусеница Я.Н. Вычислительная техника цифровой сигнальной обработки измерительных данных в трактах отечественных радиолокационных средств // Вопросы радиоэлектроники. 2011. №1. С. 124-128.
4. Петрич Д.О., Гусеница Я.Н., Завалишин М.А. Научно-методический подход к выбору рационального варианта архитектуры вычислительного комплекса радиолокационной системы специального назначения // Труды Военно-космической академии имени А.Ф. Можайского. 2011. № 632. С. 50-55.
5. Гусеница Я.Н., Завалишин М.А., Пестун У.А. Моделирование информационных средств системы контроля космического пространства, функционирующих в условиях динамически изменяющейся космической обстановки // Труды Военно-космической академии имени А.Ф. Можайского. 2011. № 632. С. 44-49.
6. Пророк В.Я., Гусеница Я.Н., Петрич Д.О. Построение системы контроля и диагностирования комплекса средств автоматизации автоматизированных систем управления войсками и оружием на основе нечетких искусственных нейронных сетей // T-Comm. Телекоммуникации и транспорт. 2013. Т. 7. № 6. С. 67-71.
7. Гусеница Я.Н. Методика верификации программного обеспечения вычислительных комплексов информационных средств контроля космического пространства на этапе проектирования // Труды Военно-космической академии имени А.Ф. Можайского. 2012. № 634. С. 15-20.
8. Гусеница Я.Н. Метод экспертизы программного обеспечения вооружения, военной и специальной техники / Техника средств связи. 2014. № 3(142). С. 118-123.
9. Гусеница Я.Н., Кругляк Ю.Л., Петрич Д.О. О некоторых особенностях надежности программного обеспечения автоматизированных систем управления войсками // Труды Военно-космической академии имени А.Ф. Можайского. 2013. № 638. С. 31-36.
10. Schneidewind N.F. Analysis of Error Processes in Computer Software // Sigplan Not. 1975. Vol. 10. No. 6.
11. Гусеница Я.Н. Модификация динамической модели Липова для оценивания надежности программного обеспечения автоматизированных систем управления войсками и оружием при ограниченном объеме испытаний // Сборник трудов Всероссийской научно-технической конференции «Теоретические и прикладные проблемы развития и совершенствования автоматизированных систем управления военного назначения», т. 1, ч. 2 . СПб.: ВКА имени А.Ф. Можайского. 2014. С. 126-132.
12. Нагаппан Н., Болл Т. Научно обоснованное прогнозирование сбоев // Идеальная разработка ПО. Рецепты лучших программистов; под ред. Э. Орама и Г. Уилсона. СПб.: Питер. 2012. 592 с.
Для цитирования:
Гусеница Я.Н. Обобщенная модель потока разнотипных программных ошибок для оценивания надежности программного обеспечения // Наукоемкие технологии в космических исследованиях Земли. 2015. Т. 7. № 5. С. 18-23.
THE TOTAL MODEL OF STREAM WITH SOFTWARE ERRORS OF DIFFERENT TYPES FOR ESTIMATING SOFTWARE RELIABILITY
Gusenitsa Yaroslav Nikolaevich,
St. Petersburg, Russian, [email protected]
Abstrart
The article presents of the flow of different types of software errors. This model is a modification of Schneidewind's model. However, the proposed model, in contrast to its prototype, the key allows for complex patterns between software errors, failures and reliability of the software. The formalization software reliability depending on the set of input data is implemented using a Nelson's model. The formalization of the possibility of a new software detected errors when correcting software errors, as well as formalization of the conditions that not every software error can be detected and corrected, implemented using a modified dynamic Lipov's model. The formalization of the situation concludes that not every software error can lead to the failure of software is implemented as follows. Firstly, all the detected software errors are invited to share in the corresponding types, differing criticality effects display in the software. Secondly, the flow of each type of software errors modeled separately. As a result of the generalized model of the flow of different types of software bugs can be used to estimate the reliability of the software command posts complex military-technical systems with limited testing. This model can be applied in justifying the introduction of the latest achievements of science and technology in the practice of creating, processing and testing software command and control centers complex military-technical systems.
Keywords: : command and control, complex military-technical systems, limited testing, software reliability, arbitrary distribution, software errors of different types.
References
1. Petric D.O., Gusenitsa Y.N., Kruglyak Y.L., Ozerov V.A. The automated control system of students' knowledge in the field of maintenance of computer systems and complexes. Military and space akademy named after A.F. Mojaiskiy. 2014. No. 644. Pp. 219-230. (In Russian).
2. Gusenitsa Y.N., Kruglyak Y.L., Petric D.O. The sloping stand for maintenance and repair of personal computers. Tekhnika sredstv svyazi. 2014. No. 3(142). Pp. 124-128. (In Russian).
3. Razumov A.V., Ermakov S.G., Petric D.O. Computers digital signal processing measurement data paths local radar. Voprosyi radioelektroniki. 2011. Pp. 124-128. (In Russian).
4. Petric D.O., Gusenitsa Y.N., Zavalishin M.A. Scientific and methodical approach to the choice of a rational variant of architecture computing complex radar system for special purposes. Military and space akademy named after A.F. Mojaiskiy. 2011. No. 632. Pp. 50-55. (In Russian).
5. Gusenitsa Y.N., Zavalishin M.A., Pestun U.A. Modeling information devices of control of space functioning in a dynamically changing space environment. Military and space akademy named after A.F. Mojaiskiy. 2011. No. 632. Pp. 44-49. (In Russian).
6. Prorok V.Y., Gusenitsa Y.N., Petric D.O. Building a system of monitoring and diagnosing the automated control systems for special purposes based on fuzzy artificial neural networks. T-Comm: Telecommunications and Transport.
2013. Vol. 7. No. 6. Pp. 67-71. (In Russian).
7. Gusenitsa Y.N. Method of verification software computer systems of information devices of control space in the design phase. Military and space akademy named after A.F. Mojaiskiy. 2012. No. 634. Pp. 15-20. (In Russian).
8. Gusenitsa Y.N. Method of software review of weapons, military and special equipment. Tekhnika sredstv svyazi.
2014. No. 3(142). Pp. 118-123. (In Russian).
9. Gusenitsa Y.N., Kruglyak Y.L., Petric D.O. Some features of the software reliability of the automated systems of command and control. Military and space akademy named after A.F. Mojaiskiy. 2013. No. 638. Pp. 31-36. (In Russian).
10. Schneidewind N.F. Analysis of Error Processes in Computer Software. Sigplan Not. 1975. Vol. 10. No. 6.
11. Gusenitsa Y.N. Modification of the dynamic model for evaluating the reliability of Lipova software of the automated systems of command and control and weapons with a limited amount of testing. Proceedings of the All-Russian Scientific and Technical Conference «Theoretical and applied problems of development and improvement of automated control systems for military use». Saint-Petersburg. 2014. Pp. 126-132. (In Russian).
12. Nagapan N., Ball T. Nauchno obosnovannoe progno-zirovanie sboev [Science-based forecasting failures]. Ideal'naya razrabotka PO. Retsepty luchshikh programmis-tov; pod red. E. Orama i G. Uilsona. . SPb.: Piter. 2012. 592 p. (In Russian).
Information about authors:
Gusenitsa Ya.N., Ph.D., lecturer in Department of metrolog-ical maintenance, Military Space Academy.
For citation:
Gusenitsa Ya.N. The total model of stream with software errors of different types for estimating software reliability. H&ES Research. 2015. Vol. 7. No. 5. Pp. 18-23. (in Russian).