Технологии разработки программного обеспечения

22
Технологии разработки программного обеспечения Исследования Института системного программирования РАН к.ф.-м.н В.В.Кулямин

Upload: jeanette-brown

Post on 03-Jan-2016

75 views

Category:

Documents


0 download

DESCRIPTION

Технологии разработки программного обеспечения. Исследования Института системного программирования РАН к.ф.-м.н В.В.Кулямин. Институт системного программирования РАН. Основан в 1994 году Отдел системного программирования ИТМиВТ БЭСМ-6 (1968) АС-6 (1979) Электроника ССБис (1987). - PowerPoint PPT Presentation

TRANSCRIPT

Технологии разработки программного обеспечения

Исследования Института системного программирования РАН

к.ф.-м.н В.В.Кулямин

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 человек в год

кафедры Системного программирования

50-е

60-е

70-е

80-е

Отдел технологий программирования

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• > 10000 страниц текста• > 30000 интерфейсных операций

Создание инфраструктурыподдержки стандарта

www.linuxtesting.orgispras.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

Карьера в ИСП РАН

студентразработчик

преподаватель

старший разработчик

руководитель группы

архитекторисследователь

аспирант

Вопросы?

[email protected]