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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Наседкин О. А., Белоус А. М.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Наседкин О. А., Белоус А. М.

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

Software Testing Facilities of Railway Signaling Equipment

This article presents a method of safety software testing in SW-based test complex environment. The proposed method is based on the principle of hardware abstraction of the tested software architecture and replacement of hardware-dependent code by specially adapted one implementing the behavior of the hardware in the environment of SW-based test complex. To demonstrate the effectiveness the proposed method is compared with a method of software testing in softwareand hardware-environments.

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

48

Информационные технологии

Библиографический список

1. ГОСТ 32.146-2000. Стандарт отрасли. Аппаратура железнодорожной автоматики, телемеханики и связи. Общие технические условия. - Введ. 2000-09-18. - М., 2000. - 164 с.

2. ГОСТ 28203-89. Основные методы испытаний на воздействие внешних факторов. Часть 2. Испытания. Испытание Бс и руководство: Вибрация (синусоидальная). - Введ. 1989-08-15. -М., 2006. - 23 с.

3. ГОСТ 28223-89. Основные методы испытаний на воздействие внешних факторов. Часть 2. Испытания. Испытание Fd^ Широкополосная

случайная вибрация. Низкая воспроизводимость. - Введ. 1989-08-15. - М., 2006. - 11 с.

4. Christian Lalanne. Mechanical Vibrations and Shocks. Fatigue Damage. V. 4. - 320 p.

5. Christian Lalanne. Mechanical Vibrations and Shocks. Random vibration. V. 3.

6. Guidance for tailoring material to its life cycle environment profile. Mechanical environment, 2010.

7. DEF STAN 0035 «Environmental Handbook for defence material» Issue 4, 2000.

8. MIL STD 810 F «Test method standard for environmental engineering considerations and laboratory test» Department of Defence, 2000.

УДК 656.25

О. А. Наседкин, А. М. Белоус

Петербургский государственный университет путей сообщения

СРЕДСТВА ИСПЫТАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МИКРОПРОЦЕССОРНЫХ СЖАТ

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

испытания программного обеспечения, безопасность программного обеспечения, испытательные среды, средства испытания программного обеспечения.

Введение

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

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

2012/3

Proceedings of Petersburg Transport University

Информационные технологии

49

и доказательству безопасности МП СЖАТ значительная часть усилий должна быть направлена на оценку безопасности ПО.

Методы обеспечения и анализа безопасности ПО, как и в целом МП СЖАТ, определяются спецификой данных систем.

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

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

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

граммная реализация ряда задач в таких системах даёт дополнительные возможности для более эффективных проверок при условии моделирования среды функционирования ПО на ранних этапах разработки систем. Такой подход предполагает использование различных средств экспертизы и испытаний на различных этапах создания МП ЖАТ.

В предлагаемой статье рассказывается о некоторых подходах к реализации средств испытаний, которые используются Испытательным центром (ИЦ) ЖАТ ПГУПС при проведении экспертизы и испытаний разрабатываемых систем.

1 Испытания ПО МП СЖАТ

в программно-аппаратной среде

Испытания в среде программно-аппаратного комплекса выглядят довольно естественно и многие годы являлись единственным средством испытания разработанного ПО.

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

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

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

ISSN 1815-588Х. Известия ПГУПС

2012/3

50

Информационные технологии

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

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

Самым распространённым методом испытаний с использованием программноаппаратного комплекса является метод программных закладок. Общая организация ПО и аппаратных средств приведена на рис. 1.

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

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

Исходя из общей организации ПО и аппаратных средств, приведённой на рис. 1, последовательность действий при испытаниях

Программно-аппаратная среда

ПО С ЖАТ

I Программные закладки

т

________±

Драйверы АС

Ж Ж I

f______f______

Аппаратные средства

Средства управления

Средства визуализации

Прочие средства

Рис. 1. Общая организация ПО и аппаратных средств

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

1) оценка архитектуры ПО и выбор мест для внесения закладок;

2) внесение изменений в исходный код ПО (установка закладок);

3) оценка влияния изменений на логику ПО;

4) проведение испытаний;

5) анализ результатов испытаний.

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

Неочевидность происходящего в «недрах» ПО при испытаниях также не добавляет уверенности в том, что все испытания являются корректными и всё сделано правильно.

2012/3

Proceedings of Petersburg Transport University

Информационные технологии

51

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

2 Испытания ПО МП СЖАТ в среде

программного комплекса

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

внесённых изменений (например, при внесении в код программных закладок).

Все эти требования можно выполнить в среде программного испытательного комплекса (ПИК).

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

Концептуально ПИК состоит из следующих структурных блоков (рис. 2):

- средства визуализации (СВ);

- средства управления (СУ);

- средства регистрации результатов (СР);

- средства внесения искажений в код (СВИК);

- средства внесения искажений в данные (СВИД);

- программное обеспечение контрольноиспытательное (ПО КИ);

- адаптация элементов программного комплекса под конкретное ПО КИ (адаптация для ПО КИ);

- средства симуляции аппаратных средств.

Рис. 2. Схема программного испытательного комплекса

ISSN 1815-588Х. Известия ПГУПС

2012/3

52

Информационные технологии

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

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

Стоит более детально рассмотреть все составляющие структуры программного испытательного комплекса (см. рис. 2).

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

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

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

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

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

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

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

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

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

Средства симуляции аппаратных средств -это набор программных средств, позволяющих симулировать поведение аппаратных средств. Реализация данного типа средств может существенно зависеть от симулируемого аппаратного средства.

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

2012/3

Proceedings of Petersburg Transport University

Информационные технологии

53

проводить повторный анализ испытуемого ПО после адаптации его к исполнению в среде ПИКа, поскольку логика ПО не претерпевает никаких изменений.

Заключение

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

Немаловажным является и архитектура испытуемого ПО, которая в данной статье

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

Библиографический список

1. Стандарт CENELEC EN58128, «Railway applications - Communications, signaling and processing systems - Software for railway control and protection systems». - Брюссель, 2001. - 104 с.

2. Сертификация и доказательство безопасности систем железнодорожной автоматики / Вал. В. Сапожников, Вл. В. Сапожников, В. И. Талалаев и др. - М. : Транспорт, 1997. -288 с.

3. Тестирование программ / В. В. Липаев. -М. : Радио и связь, 1986. - 296 с.

ISSN 1815-588Х. Известия ПГУПС

2012/3

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