Компания AbsInt Angewandte Informatik GmbH (Германия) – разработчик средств статического (по коду программы) анализа ПО критически-важных встраиваемых систем: времени исполнения наихудшего случая WCET (Worst-Case Execution Time), объема используемого стека, наличия потенциальных ошибок времени исполнения

Кому нужен WCET-анализ и зачем
Системой Реального Времени (СРВ) является такая программно-управляемая компьютерная система, корректность работы которой зависит не только от корректности результатов работы программы, но и от того, успела ли программа выдать результаты за заданное время своего исполнения. Критически-Важной Системой Реального Времени (КВ СРВ) называется такая СРВ, некорректная работа которой несет угрозу здоровью или жизни людей (например, авария на транспорте), или может нанести существенный ущерб окружающей среде (например, выброс на вредном производстве) или чревата каким-либо значительным экономическим ущербом (например, потерей космического аппарата).

WCET-анализ нужен в СРВ и особенно в КВ СРВ для того, чтобы предсказать максимальное время исполнения программного кода и тем самым гарантировать корректность работы системы по временному критерию.

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

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

Для точного предсказания максимального времени исполнения помогут только математические методы анализа программного кода. Средства анализа компании AbsInt используют такие методы для статического (до исполнения) анализа программы: ее текста на языке высокого уровня или ее бинарного кода после компиляции и сборки.

Продукты компании AbsInt:

aiT – статический анализатор времени исполнения наихудшего случая WCET (Worst-Case Execution Time)
Предназначен для оценки максимального времени исполнения программы при всех возможных входных условиях.
Анализирует бинарный код программного модуля, сгенерированный конкретным компилятором для конкретного микропроцессора.
Поддерживается широкий спектр микропроцессоров и микроконтроллеров.
Учитываются особенности архитектуры конвейера инструкций и влияние кэш-памяти инструкций и данных на время исполнения.
Результаты оценки максимального времени исполнения программного модуля могут быть использованы для построения алгоритма планирования в системах с временным расписанием, таких как ARINC 653 и Time-Triggered Ethernet.
Поддерживает кодогенераторы систем модельно-ориентированного проектирования SCADE (Esterel Technologies) и TargetLink (dSPACE).
Сопровождается пакетом поддержки квалификации QSK (Qualification Support Kit) по стандартам безопасности программного обеспечения.

StackAnalyzer – статический анализатор размера используемого стека
Предназначен для доказательства отсутствия ситуаций переполнения стека при всех возможных входных условиях.
Анализирует бинарный код программного модуля, сгенерированный конкретным компилятором для конкретного микропроцессора.
Поддерживается широкий спектр микропроцессоров и микроконтроллеров.
Учитывает вызовы библиотечных функций, рекурсию и указатели на функцию.
Сопровождается пакетом поддержки квалификации QSK (Qualification Support Kit) по стандартам безопасности программного обеспечения.

Astree - средство статического анализа C-программ на отсутствие run-time ошибок и состязаний за данные
Тестирование показывает последствия ошибки, а средства статического анализа – причину ошибки.
Astree анализирует текст программы и обнаруживает потенциальные ошибки времени исполнения (run-time):
- деление на ноль
- выход индекса массива за пределы
- нулевые, неинициализированные и повисшие указатели
- арифметические переполнения (целочисленные и с плавающей точкой)
- чтение неинициализированных переменных
- состязания за данные при доступе из параллельно исполняющихся потоков
- некорректные вызовы стандартных системных сервисов ARINC 653, OSEK и AUTOSAR
- и др.
Анализирует сотни тысяч строк программного кода за десятки минут без «ложных тревог».
Используется более 10 лет в авиационных и космических проектах, автомобильной промышленности и атомной энергетике.
Сопровождается пакетом поддержки квалификации QSK (Qualification Support Kit) по стандартам безопасности программного обеспечения.

TimingProfiler – средство мониторинга временных характеристик ПО в процессе разработки
Оценивает максимальное (worst-case) время исполнения программных модулей по скомпилированному бинарному коду.
Предназначен для раннего обнаружения узких мест в ПО реального времени.
Не требует инструментирования кода и его прогона на реальной целевой машине.

WWW.ABSINT.COM


AVD Systems
тел: (916) 194-42-71

Все наши страницы в сети:
www.avdsys.ru/pikeos PikeOS - операционная система/гипервизор для встраиваемых систем, критически-важных для безопасности (safety) и защищенности (security)
www.avdsys.ru/ada AdaCore – средства разработки и верификации ПО на языках Ada и SPARK
www.avdsys.ru/test VectorCAST - комплекс средств автоматизации тестирования программного обеспечения критически-важных для безопасности, сертифицируемых встраиваемых систем
www.avdsys.ru/gpu CoreAVI - сертифицируемые по стандарту DO-178B/C драйверы стандарта OpenGL SC (Safety Critical) для различных графических процессоров и графических ядер (GPU = Graphics Processing Unit)
www.avdsys.ru/gui DiSTI GL Studio - cреда разработки 3-D графического пользовательского интерфейса (GUI) критически важных для безопасности сертифицируемых дисплейных систем
www.avdsys.ru/wcet AbsInt - средства статического (по коду программы) анализа ПО критически-важных встраиваемых систем: времени исполнения наихудшего случая WCET (Worst-Case Execution Time), объема используемого стека, наличия потенциальных ошибок времени исполнения
www.avdsys.ru/mbd Средства модельно-ориентированного проектирования (MBD = Model-Based Design).
AdaCore QGen - квалифицируемый генератор программного кода из моделей Simulink и Stateflow.
www.avdsys.ru/debug Lauterbach - аппаратные средства отладки ПО встраиваемых систем
www.avdsys.ru/atr CM Computer - бортовые корпуса формата ATR (Air Transport Rack) для модулей VPX, VME64 и CompactPCI с кондуктивным охлаждением
www.avdsys.ru/DE TTTech - оборудование Deterministic Ethernet - сетевой Технологии с передачей по Временно́му Расписанию (Time-Triggered Technology), применяемой для построения распределенных систем жесткого реального времени с гарантированным временем передачи данных
www.avdsys.ru/rugged Aitech - модули и системы VPX, VME, CompactPCI для тяжелых условия эксплуатации