220 likes | 400 Views
Технологии разработки программного обеспечения. Исследования Института системного программирования РАН к.ф.-м.н В.В.Кулямин. Институт системного программирования РАН. Основан в 1994 году Отдел системного программирования ИТМиВТ БЭСМ-6 (1968) АС-6 (1979) Электроника ССБис (1987).
E N D
Технологии разработки программного обеспечения Исследования Института системного программирования РАН к.ф.-м.н В.В.Кулямин
Институт системного программирования РАН Основан в 1994 году Отдел системного программирования ИТМиВТ • БЭСМ-6 (1968) • АС-6 (1979) • Электроника ССБис (1987) Иванников В. П.
Треугольник деятельностей Исследования Российская академия наук Промышленные разработки Образование
Направления исследований • Технологии верификации программного и аппаратного обеспечения • Технологии разработки параллельных и распределенных систем • Технологии разработки компиляторов • CASE-системы и разработка на основе моделей • Технологии хранения и интеграции данных • Разработка и анализ алгоритмов
Партнеры и заказчики – индустрия • Hewlett Packard • Intel • Microsoft • Oracle • Linux Foundation • Nortel Networks • Telelogic (IBM) • VIA Technologies • Вымпелком • KLOCwork
Партнеры и заказчики – академия • Министерство науки и образования • INRIA • Microsoft Research • Fraunhofer Institute • Daimler Chrysler Research • ETSI • ETRI • Gelato • НИИСИ РАН
Образование • МГУфакультет ВМиК • 17-25 человек в год • МФТИфакультет УПМ • 12-18 человек в год кафедры Системного программирования Отдел технологий программирования
Миссия Создание и внедрение в промышленную практику наукоемких методов разработки программного обеспечения
Зачем нужна наукоемкость? • Существенное повышение качества и надежности ПО • Повышение эффективности разработки ПО • Создание собственных технологий – фундамент долгосрочного инновационного развития
Инновационная экономика исследования технологии продукты
Основные разработки • Повышение качества и надежности ПОПовышение эффективности разработкиПО • Методы разработки на основе моделей • CASE-инструменты • Методы анализа и прослеживания требований • Методы формальной верификации • Технологии и инструменты тестирования • Повышение производительности ПО • Технологии создания параллельных приложений
Научная работа • Статьи • Монографии • Участие в конференциях и их организация • Formal Methods • TESTCOM • Model Based Testing (ETAPS) • PSI • Диссертации • Связи иконтакты
Первые успехи Разработка тестового набора для ОС телекоммуникационного коммутатора • Ядро – 250 KLOC • Приложения – 25 MLOC • Тесты – 350 KLOC • Сгенерировано – 1.8 MLOC
Стандартизация Linux Стандарт Linux Standard Base - LSB • Стандарты • POSIX, XPG, SVID, ISO C • ncurses, LFS • Библиотеки • libc, libm, libncurses, libX11, libXt, libGL • libstdcxx, libxml • GTK, Qt, libfontconfig, libpng
Проект Linux Foundation Создание тестового набора для проверки соответствия LSB • > 10000 страниц текста • > 30000 интерфейсных операций Создание инфраструктуры поддержки стандарта www.linuxtesting.org ispras.linuxfoundation.org
Технологии тестирования • На основе автоматных моделей • Пред- и постусловия операций • Модель состояния • Тест – путь по графу переходов • На основе сценариев использования • Основные сценарии использования • Тест на каждый сценарий • Проверяется корректность в рамках сценария • На основе структуры интерфейса • Уточняются типы параметров и результатов • Автоматически создается один тест на операцию • Проверяются простейшие ограничения и отсутствие сбоев
Разработка тестов для протоколов Семейство протоколов IPv6,Mobile IPv6, IPsec • > 1000 страниц текста • Не описываются конечными автоматами
Проект Go4IT Разработка открытого тестового набора для IPv6 go4it.unitesk.ru
Карьерав ИСП РАН руководитель группы архитектор преподаватель исследователь старший разработчик разработчик аспирант студент
Вопросы? kuliamin@ispras.ru