Upgrade to Pro — share decks privately, control downloads, hide ads and more …

От экспериментального программирования к промышленному: путь длиной в 10 лет

От экспериментального программирования к промышленному: путь длиной в 10 лет

Доклад Катерины Трошиной (SolarSecurity) о разработке наукоемкого программного обеспечения и связанных с этим процессом сложностях на PHDays VII.

695d44581c32d62f5393163739a66846?s=128

Positive Development User Group

September 25, 2017
Tweet

More Decks by Positive Development User Group

Other Decks in Programming

Transcript

  1. Заголовок ptsecurity.com От экспериментального программирования к промышленному: путь длиной в

    10 лет Ведущий эксперт по ИБ SolarSecurity к.ф.-м.н. Катерина Н. Трошина
  2. Заголовок • Разработка программного кода сегодня • Лучшие мировые практики

    • Наш процесс разработки ПО • Сопровождение разработанного ПО • Работать на себя
  3. Заголовок • На вход подается нечеткая постановка задачи • Нет

    технического задания • Нет алгоритмов • Есть нечеткое понимание функциональности • О требованиях защищенности вообще никто не заботится
  4. Заголовок • Декомпилятор • Пассивный перехватчик трафика • Анализатор кода

    Наш опыт экспериментального программирования
  5. Заголовок Разработка программного кода сегодня разработчик тестировщик аналитик Дружное трио:

  6. Заголовок • Начальник отдела разработки • Коллектив • Программный продукт

    • Бизнес Разработка программного кода сегодня
  7. Заголовок Повышение качества разработки Кодиро вание $X Сборка $3X Тестирование

    и Безопасность $10X Эксплуатация $100X Обнаружение дефектов
  8. Заголовок • Декомпилятор • Неподдерживаемые языковые конструкции (таких оказалось много)

    • Неполные спецификации микроконтроллеров • Нехватка памяти (CFG – очень большой) • Классические алгоритмы плохо масштабируются на реальные приложения • Результат • используется как внутренний инструмент • неотделим от разработчика От экспериментального кода к промышленному
  9. Заголовок • Пассивный перехватчик трафика • дефицит памяти • перепутанные

    пакеты • плохая стандартизация протоколов обмена • разнообразная инфраструктура • Результат • проект занял времени и ресурсов в 2 раза больше планируемого • потребовалось строгое административное вмешательство в процесс разработки • перехватчик внедрен в промышленную эксплуатацию От экспериментального кода к промышленному
  10. Заголовок • Статический анализатор кода • дефицит памяти • много

    ложных срабатываний на реальных примерах • сторонние компоненты не приспособлены для реальных приложений • классические алгоритмы даже адаптированные не работают • Результат • Дополнительные исследования по обновленным требованиям • Есть промышленный результат От экспериментального кода к промышленному
  11. Заголовок аналитик разработчик тестировщик

  12. Заголовок Кодиро вание $X Сборка $3X Тестирование и Безопасность $10X

    Эксплуатация $100X Обнаружение дефектов 3 независимые группы: • Аналитика • Разработка • Тестирование
  13. Заголовок ИС анализа кода разработчик тестировщик

  14. Заголовок • Статический анализ кода • Динамический анализ кода •

    Анализ кода времени выполнения Кодиро вание Сборка Тестирование и Безопасность Запуск Система управления проектами Среда разработки Система контроля версий и сборки анализ кода
  15. Заголовок Кодиро вание $X Сборка $3X Тестирование и Безопасность $10X

    Эксплуатация $100X Обнаружение дефектов
  16. Заголовок аналитик разработчик тестировщик

  17. Заголовок разработчик

  18. Заголовок Мы добились эффективной разработки: • Разделили аналитику, разработку и

    тестирование • Грамотно внедрили анализ кода • Разработали прозрачные мотивационные программы для сотрудников Заключение
  19. Заголовок ptsecurity.com Спасибо! Спасибо!