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