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
Список литературы
Рекомендуемая основная литература
- Руководство по 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