• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2024/2025

Искусственный интеллект в тестировании и анализе программ

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Язык: русский
Кредиты: 6

Программа дисциплины

Аннотация

Курс "Искусственный интеллект в программной инженерии" рассматривает применение методов интеллектуального анализа данных и технологий ИИ на различных этапах разработки программного обеспечения. Студенты узнают о том, как работают современные популярные ассистенты разработки (Github Copilot, Huggingface Starchat), и об использовании ИИ для решения различных прикладных задач, включая автодополнение исходного кода (code generation and auto-completion), поиск и рекомендация похожих фрагментов кода (code summarization and retrieval), автоматизация процесса ревью кода (code review automation), автоматизация тестирования (automated exploratory testing) и др. Курс включает в себя анализ современных подходов, моделей и различных представлений исходного кода для решения целевых задач. Студенты получат навыки, необходимые для успешного внедрения существующих и новых решений на базе ИИ в свои будущие проекты в области программной инженерии.
Цель освоения дисциплины

Цель освоения дисциплины

  • Студенты получат знания, необходимые для понимания и успешного внедрения существующих и новых решений на базе ИИ в свои будущие проекты в области программной инженерии, в частности для автоматизации, оптимизации и повышения точности процессов тестирования и анализа программного обеспечения.
Планируемые результаты обучения

Планируемые результаты обучения

  • Применение предобученных моделей МО для анализа кода и связанных данных (прим., суммаризация кода)
  • Предварительное обучение моделей МО для исходного кода
  • Использование инструментов tree-sitter, PyTorch, HuggingFace для задач анализа кода
  • Использование специализированных индексов для поддержки быстрого приблизительного поиска (в том числе для кода)
  • Оптимизация процессов UI-тестирования с помощью ИИ
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Обзор применения методов ИИ для задач анализа и тестирования
  • Классические методы машинного обучения
  • Глубокое обучение и архитектуры нейросетей
  • Векторные представления для исходного кода
  • Предварительное обучение моделей для исходного кода
  • Поиск и рекомендация похожего кода
  • Автоматизация ревью кода
  • Интеллектуальный вывод типов
  • Большие языковые модели для исходного кода
  • Мультиагентные системы
  • Введение в автоматизацию UI-тестирования
  • Автоматизция UI тестирования приложений Android
Элементы контроля

Элементы контроля

  • неблокирующий ДЗ_1
  • неблокирующий ДЗ_2
  • неблокирующий ДЗ_3
  • неблокирующий ЭКЗ
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    0.2 * ДЗ_1 + 0.3 * ДЗ_2 + 0.2 * ДЗ_3 + 0.3 * ЭКЗ
Список литературы

Список литературы

Рекомендуемая основная литература

  • Руководство по NLP, Найт, С., 2001

Рекомендуемая дополнительная литература

  • 9781838827724 - Antonio Gulli; Amita Kapoor; Sujit Pal - Deep Learning with TensorFlow 2 and Keras : Regression, ConvNets, GANs, RNNs, NLP, and More with TensorFlow 2 and the Keras API, 2nd Edition - 2019 - Packt Publishing - http://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=2339879 - nlebk - 2339879

Авторы

  • Сорокин Константин Сергеевич
  • Буцкая Евгения Александровна