Научная статья на тему 'МЕТОД ЭКСПЕРТИЗЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВООРУЖЕНИЯ, ВОЕННОЙ И СПЕЦИАЛЬНОЙ ТЕХНИКИ'

МЕТОД ЭКСПЕРТИЗЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВООРУЖЕНИЯ, ВОЕННОЙ И СПЕЦИАЛЬНОЙ ТЕХНИКИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
37
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВООРУЖЕНИЯ / ВОЕННАЯ И СПЕЦИАЛЬНАЯ ТЕХНИКА / ЭКСПЕРТИЗА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / ПРОГРАММНЫЕ ОШИБКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гусеница Ярослав Николаевич

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

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

Текст научной работы на тему «МЕТОД ЭКСПЕРТИЗЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВООРУЖЕНИЯ, ВОЕННОЙ И СПЕЦИАЛЬНОЙ ТЕХНИКИ»

Я.Н. Гусеница

кандидат технических наук, Военно-космическая академия имени А.Ф.Можайского

МЕТОД ЭКСПЕРТИЗЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВООРУЖЕНИЯ, ВОЕННОЙ И СПЕЦИАЛЬНОЙ ТЕХНИКИ

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

КЛЮЧЕВЫЕ СЛОВА: вооружения, военная и специальная техника, экспертиза программного обеспечения, программные ошибки.

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

Сейчас для определения программных ошибок и повышения надежности ПО ВВСТ в ходе различных видов испытаний ВВСТ проводится тестирование их ПО. Однако мировой опыт в области программной инженерии показывает, что тестирование ПО позволяет обнаружить 15— 55 % от предполагаемого количества всех программных ошибок [2].

Известным подходом к улучшению результативности обнаружения программных ошибок является проведение крупномасштабного бета-тестирования ПО. Данный подход позволяет обнаружить 60—85 % от предполагаемого количества всех программных ошибок [2]. Но проведение крупномасштабного бета-тестирования ПО сопряжено с рядом трудностей, которые за-

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

Другим возможным подходом к улучшению результативности обнаружения программных ошибок является проведение экспертизы ПО. Доказано, что в результате экспертизы ПО обнаруживается 60—90 % от предполагаемого количества всех программных ошибок. А совместное использование тестирования и экспертизы ПО позволяет обнаружить практически все программные ошибки [2, 4—11].

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

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

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

Метод экспертизы ПО ВВСТ подразумевает наличие следующих этапов, представленных на рис. 1:

1. Определение требований к экспертизе.

2. Формирование экспертной группы.

3. Разработка контрольных списков.

4. Интуитивное определение ошибок в ПО.

5. Получение индивидуальных оценок результатов интуитивного определения ошибок в ПО.

6. Получение групповых оценок результатов интуитивного определения ошибок в ПО.

7. Оценивание достоверности результатов экспертизы.

8. Оценивание соответствия требований и результатов экспертизы.

9. Формирование достоверных результатов экспертизы.

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

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

представленных в табл. 1, каждый j-И эксперт оценивается коэффициентом компетентности с помощью следующего выражения [2]:

=

I=1

1 ь

в1 тах

I=1

где вр — вес 1-го эксперта по I -му критерию;

I тах

— предельный вес I -го критерия; Ь — общее количество критериев.

Численность группы экспертов определяется из условия [1]:

3 х ^

2 • #тах

(1)

где дтах = 1 — максимально возможное значение коэффициента компетентности экспертов; — количество затрагиваемых срезов инженерии ПО.

Если условие (1) не выполняется, то в экспертную группу привлекается еще один или несколько экспертов. В результате формируется экспертная группа, которая характеризуется матрицей-строкой компетентности:

0 = (д1)=1../ =(2,..,?/ ).

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

Интуитивное определение ошибок в ПО осуществляется на основе индивидуального ознакомления каждого 1-го эксперта со схемами данных, программ, взаимодействия программ и ресурсов, а также текстами программ, сопоставления их с функциональными требованиями, а также указании мест с конкретными ошибками. При этом каждый 1-й эксперт для каждой обнаруженной им г'-й ошибки определяет тип этой ошибки и выставляет индивидуальную оценку ру е [0,1]. Эта оценка является субъективной вероятностью нахождения г-й ошибки в указанном месте и отражает степень уверен-

в

Рис. 1. Структура метода экспертизы ПО ВВСТ

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

I = 1/ (ТД <Т),

где ТД — допустимая длительность экспертизы; Т — фактическая длительность экспертизы.

Результатом интуитивного определения ошибок в ПО является матрица субъективных вероятностей:

(

Р =

( )/=1../,у=1../

Р11 Р12 р21 р22

1.Р/1 Р/ 2

Р1/ Р2/

Р//

Таблица 1

Критерии и шкалы для оценки уровня компетентности экспертов

Критерий Вес ^Ч Уровень образования Ученое звание Количество собственных научных трудов Опыт работы

1 Бакалавр — До 10 До 5 лет

2 Специалист Доцент (старший научный сотрудник) От 10 до 20 От 5 до 10 лет

3 Магистр Профессор От 20 до 30 От 10 до 15 лет

4 Кандидат наук Член-корреспондент Российской академии наук От 30 до 40 От 15 до 20 лет

5 Доктор наук Академик Российской академии наук Более 40 Более 20 лет

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

(

Ш =

=1..1,}=1../

ж

11

ж

12

ж

'1/

ж

21

V 1

ж

22

ж

2/

ж

12

ж

I/;

Для этого элементы матрицы субъективных вероятностей и матрицы-строки компетентности подставляются в следующее выражение: /

ж = Х Р} ■ 4} •

}=1

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

Ш = (*/ ))=1..1 =

( ж >

ж,

VI/

Для этого элементы матрицы индивидуальных оценок подставляются в следующее выражение:

/

X ж

- }=1 Щ = —

и

/

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

Оценивание достоверности результатов экспертизы подразумевает получение дополнительной статистической информации о результатах экспертизы. В качестве такой информации выступают [1]:

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

— дисперсии экспертных оценок;

— среднеквадратические отклонения экспертных оценок;

— коэффициенты вариации экспертных оценок;

— коэффициент конкордации Кендалла.

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

X ( - ж )2

д =

}=1

/ -1

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

о=4Д •

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

vi = =. ^

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

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

12ХА

^ = =1

J2

(3 -')'

■ = 1,I; (Д )л(оД >ог-)л л(Д >^)л(Д ), '

(2)

Формирование достоверных результатов экспертизы предполагает формирование матрицы-столбца достоверных оценок:

< &

F=(/ )■=ц =

Коэффициент конкордации Кендалла S принимает значение в пределах от 0 до 1. При S = 1 означает полную согласованность мнений экспертов, при S = 0 полную несогласованность. Низкое значение этого коэффициента свидетельствует об отсутствии общности мнений экспертов и требует повторного проведения экспертизы.

Оценивание соответствия требований и результатов экспертизы осуществляется с использованием следующего критерия класса пригодности:

где DД — допустимое значение дисперсии экспертных оценок; оД — допустимое значение среднеквадратического отклонения экспертных оценок; vД — допустимое значение коэффициента вариации экспертных оценок; SД — допустимое значение коэффициента конкордации Кендалла.

Элементы данной матрицы формируются из матрицы-столбца групповых оценок. Для этого используется условие (2). Если какой-нибудь элемент матрицы-столбца групповых оценок удовлетворяет условию (2), то значение этого элемента становится значением элемента матрицы-столбца достоверных оценок:

Ъ = ^ .

В противном случае элементы матрицы-столбца достоверных оценок принимают нулевые значения:

/ = 0.

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

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

ЛИТЕРАТУРА

1. Араб-Оглы Э.А. Рабочая книга по прогнозированию / [Э.А. Араб-Оглы и др.] — М.: Издательство «Мысль», 1982.

2. Макконнелл С. Совершенный код. Мастер-класс / C. Макконнелл. — М.: Издательство «Русская редакция», 2011.

3. Майерс Г. Искусство тестирования программ / Г. Майерс, Т. Баджетт, К. Сандлер. — М.: Издательский дом «Вильямс», 2012.

4. Фатрелл Р. Управление программными проектами: достижение оптимального качества при минимуме затрат / Р. Фатрелл, Д. Шафер. — СПб: Издательский дом «Вильямс», 2003.

5. Boehm В.,Basili V. Software Defect Reduction Top 10 List. IEEE Computer, 34(1):135—137, January 2001.

6. Fagan M. Design and Code Inspection to Reduce Errors in Program Development.IBM Systems Journal, 15 (3), 1976.

7. Gilb T, Graham D. Software Inspection. Addison-Wesley, 1993.

8. IEEE 1028. Standard for Software Reviews. New York: IEEE, 1998.

9. Knight J.C., Myers E.A. Phased Inspections and their Implementation. ACM SIGSOFT Software Engineering Notes, 16(3):29-35, 1991.

10. Nielsen J. Usability Engineering. Academic Press, Boston, 1993.

11. Wong Y.K. Modern Software Review: Techniques and Technologies. IRM Press, 2006.

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