COVERest: инструмент автоматизации анализа структурного покрытия кода
Инструмент COVERest предназначен для сбора информации о структурном покрытии исходного кода тестами и
выдачи отчетов о структурном покрытии, которые могут использоваться при анализе его полноты в соответствии с требованиями КТ-178C / DO-178C.
С помощью инструмента можно собирать покрытие структурных элементов по критериям MC/DC, DC и SC, а также покрытие связей по управлению и данным.
Для сбора информации о покрытии исходного кода ПО фиксируется прохождение
потока управления программы через контрольные точки, определяемые на этапе синтаксического анализа программы.
Выбор контрольных точек производится в соответствии с типом собираемого покрытия - структурных элементов или связей, и критерием полноты покрытия,
который при разработке сертифицируемого авиационного ПО определяется уровнем критичности. Стандарты КТ-178C / DO-178C в для уровней критичности A,
B и C определяют критерии MC/DC, DC и SC соответственно. Уровень критичности С определяет необходимость сбора покрытия по критерию SC, уровень B -
по критериям SC и DC, уровень A - по критериям SC и MC/DC. Для обеспечения сбора структурного покрытия инструмент COVERest выполняет
инструментирование программы, суть которого состоит в модификации ее исходного кода таким образом, чтобы обеспечить регистрацию
прохождения потока управления через выбранные контрольные точки (трассировку программы), не изменяя основной функциональности.
Полученные в ходе выполнения программы трассировочные данные затем анализируются инструментом совместно с данными
о структуре программы, сохраненными на этапе ее синтаксического анализа. В результате формируется отчет, содержащий информацию, необходимую при
анализе структурного покрытия программы.
Основные особенности:
-
Поддержка языка C (в том числе версий C99 и C11, а также наиболее
распространенных встроенных функций компиляторов GCC и LLVM).
-
Возможность адаптации к тестовой среде и целевому вычислителю заказчика.
-
Поддержка трех уровней структурного покрытия, что позволяет применять
инструмент для ПО, соответствующего уровням гарантии проектирования A, B и C (по КТ-178С):
- MC/DC (Modified condition/decision coverage, модифицированное покрытие условий и решений) – для уровня A;
- DC (Decision coverage, покрытие решений) – для уровня B;
- SC (Statements coverage, покрытие операторов) – для уровня C.
-
Инструмент разрабатывается в соответствии с Р-330 по уровню TQL-5 и сопровождается квалификационным пакетом.
-
Результаты анализа представляются в виде html-файлов, содержащих:
- статистику по отдельным функциям и файлам;
- листинг исходного кода, в котором наглядно демонстрируются и комментируются непокрытые и частично покрытые участки исходного кода.
-
Для инструмента также разработаны компоненты, автоматизирующие анализ связности исходного кода по управлению
(COVERest_CCC – control coupling coverage) и по данным (COVERest_DCC – data coupling coverage).
Документация:
Приобретение:
Если вы заинтересованы в приобретении программы, пожалуйста, направьте запрос
коммерческого предложения на адрес электронной почты COVERest@2100.gosniias.ru.
Техническая поддержка пользователей:
ГосНИИАС предоставляет пользователям консультации
по программному продукту и техническую поддержку. Условия технической поддержки содержатся в лицензионном соглашении.
|