Технологии программирования


Инновации

Собственные технологии

MicroTESK: среда генерации тестовых программ для микропроцессоров

MicroTESK (Microprocessor TEsting and Specification Kit) — это среда генерации тестовых программ на языке ассемблера для функциональной верификации микропроцессоров. В качестве источника знания о конфигурации верифицируемого микропроцессора выступают формальные спецификации. Задачи генерации описываются на специальном языке, основанном на Ruby, который позволяет формулировать цели верификации в терминах тестовых ситуаций, извлеченных из формальных спецификаций. Такой подход позволяет упростить настройку среды и повысить уровень тестового покрытия. MicroTESK успешно применяется в промышленных проектах по верификации микропроцессоров ARMv8 и MIPS64.

Retrascope: инструмент обратной инженерии HDL-описаний

HDL Retrascope — это инструмент обратной инженерии (reverse engineering) и трансформаций (transformation) описаний цифровой аппаратуры, выполненных на таких HDL-языках (hardware description languages), как Verilog и VHDL. Инструмент позволяет анализировать HDL-описания, реконструировать, лежащие в их основе модели (расширенные конечные автоматы), и использовать полученные модели для генерации тестов, проверки свойств и других задач.

MASIW. Программные средства поддержки проектирования комплексов бортового оборудования

MASIW – Modular Avionics System Integrator Workplace – «рабочее пространство»/«рабочее место» системного интегратора. Набор инструментов, позволяющий: описывать модели комплекса бортового оборудования воздушного судна, производить анализ моделей на соответствие требованиям и генерировать конфигурационные данные и бинарные образы программного кода на основе моделей.

UniTESK

UniTESK - это технология тестирования программных интерфейсов (API), которая в первую очередь предназначена для модульного тестирования. Унифицированная архитектура UniTESK позволяет на ее основе реализовать инструменты для тестирования модулей на практически всех и языках программирования. В настоящее время имеются реализации UniTESK для C (CTESK), C++ (C++TESK), Java (JavaTESK и Summer), Python (PyTESK).

C++TESK

C++TESK Testing ToolKit является инструментом, реализованном на C++, с открытым исходным кодом, предназначенным для автоматизированного тестирования программ (в основном, написанных на C/C++) и RTL (HDL) моделей цифровой аппаратуры (написанных на языках Verilog и VHDL).

CTESK

CTESK - инструмент для тестирования программного обеспечения, реализованного на языке C. CTESK реализует технологию UniTESK автоматизированного тестирования, основанного на спецификациях. Инструмент позволяет использовать формальное описание требований для генерации тестов.

KEDR

Система KEDR предназначена для динамического (runtime и post factum) анализа модулей ядра Linux, в том числе драйверов устройств, модулей файловых систем и т.д.

RaceHound

RaceHound - система для выявления состояний гонки в модулях ядра Linux.

OTK

OTK (Optimizer Testing Kit) - инструмент для тестирования программных систем, работающих с данными, имеющими сложную структуру.

SemaTESK

SemaTESK (Semantics Testing Kit) – метод автоматической генерации множеств тестов для фронт-эндов в трансляторах.

SynTESK

SynTESK (Syntax Testing Kit), инструмент для тестирования синтаксических анализаторов (парсеров) формальных языков.

JavaTESK

JavaTESK - инструмент для тестирования программного обеспечения, реализованного на языке Java. JavaTESK реализует технологии UniTESK автоматизированного тестирования, основанного на спецификациях. Инструмент позволяет использовать формальное описание требований для генерации тестов.

Requality

Система управления требованиями Requality – это инструмент для работы с требованиями, в первую очередь к программным системам. Requality автоматизирует основные процессы работы с требованиями.

PyTESK

PyTESK - инструмент для автоматизации тестирования программного обеспечения. PyTESK представляет собой реализацию на языке Python технологии UniTESK и некоторых дополнительных средств тестирования.

Прочие технологии