We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Artificial Intelligence in Program Testing and Analysis

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructor

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

Аннотация

Курс "Искусственный интеллект в программной инженерии" рассматривает применение методов интеллектуального анализа данных и технологий ИИ на различных этапах разработки программного обеспечения. Студенты узнают о том, как работают современные популярные ассистенты разработки (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

Авторы

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