Финуниверситет — Информационная безопасность
**Семантический анализ** - **Поддомен:** QA/Автоматизация (на стыке с AI/ML — верификация кода, сгенерированного LLM) - **Роль эксперта:** QA-лид - **Схема структуры:** C (Введение → FAQ → Темы ВКР карточками → Основная часть → Чек-лист → Ошибки → CTA → Эксперт → Источник) - **Primary keyword:** верификация кода, сгенерированного ИИ, для ВКР - **LSI-запросы:** Qodo, LLM-generated code, SAST/Semgrep, mutation testing, ISO/IEC 25010, OWASP Top 10, CI/CD-пайплайн, C4-диаграммы, code coverage, defect density - **5 вопросов студентов:** какую тему взять на стыке AI и QA; где брать датасет сгенерированного кода; как считать эффективность верификации; нужно ли обучать модель или хватит API; как оформить схемы и код по нормоконтролю - **5 сущностей:** ГОСТ 34, ISO/IEC 25010, OWASP Top 10, C4/UML, метрики поддомена (Coverage, Mutation Score, Defect Density) ```html

Верификация ИИ-кода в ВКР: как построить защищаемую систему контроля качества

В конце марта 2026 года компания Qodo привлекла $70 млн на решение, казалось бы, «второстепенной» задачи — проверки кода, который пишут языковые модели. Логика инвестиции проста: пока одни продают генераторы, кто-то должен отвечать за то, чтобы сгенерированный код не уронил прод. Для выпускника ИТ-специальности это прямой сигнал: тема «как убедиться, что сгенерированный ИИ код работает» — не модная надстройка, а отдельное инженерное направление с метриками, архитектурой и научной новизной. Ниже — как превратить этот тренд в защищаемую ВКР, какие инструменты использовать, какие метрики считать и где студенты чаще всего спотыкаются.

Частые вопросы студентов — отвечаем сразу

Можно ли взять эту тему, если я не ML-инженер и не собираюсь обучать модель?

Можно и нужно. Верификация ИИ-кода — прикладная дисциплина на стыке QA и автоматизации. Вы работаете с уже готовыми API (OpenAI, GigaChat, локальный Code Llama), а ваш научный вклад — методология оценки и пайплайн контроля качества. Обучать модель не требуется.

Где брать данные, если «исторических» датасетов с ИИ-кодом почти нет?

Датасет вы собираете сами: 50–200 задач уровня LeetCode/Codeforces, для каждой — эталонное решение и N вариаций, сгенерированных LLM при разных temperature и промптах. Дополнительно можно использовать HumanEval, MBPP и SWE-bench как публичные бенчмарки. Такой «самопальный» корпус — нормальная и защищаемая методология.

Как измерять эффективность верификации, а не «на глаз»?

Как минимум тремя метриками: доля корректных сгенерированных решений после фильтра (Precision/Recall), Mutation Score тестового набора, Defect Density на 1000 строк. Плюс временные метрики пайплайна. Тогда защита превращается в разговор о цифрах, а не о вкусовщине.

Нужен ли мне реальный CI/CD или можно обойтись скриптом?

Формально хватит локального скрипта, но комиссия любит воспроизводимость. Соберите минимальный GitHub Actions workflow: прогон линтера, SAST, unit-тестов и метрик. Это 30 строк YAML, а вес в разделе «Реализация» — весомый.

Темы ВКР, которые рождаются из кейса Qodo

Как встроить материал статьи в главы работы

Глава 1. Анализ: где кейс Qodo усиливает теорию

Не пересказывайте новость TechCrunch. Используйте её как триггер для постановки проблемы: «рынок сместился от автогенерации к верификации, что подтверждается инвестициями». Далее — сравнение подходов: статический анализ (Semgrep, SonarQube), динамический (unit-тесты, property-based тесты), формальная верификация (Dafny, Frama-C). Хорошо зайдёт таблица сопоставления по критериям ISO/IEC 25010: функциональная корректность, надёжность, безопасность, сопровождаемость.

ПодходКритерий ISO/IEC 25010ИнструментКогда применять
Статический анализБезопасность, сопровождаемостьSemgrep, CodeQL, SonarQubeНа каждом коммите, быстро, но не ловит логические дефекты
Динамический анализФункциональная корректностьpytest, JUnit, HypothesisПосле сборки, требует тестового набора
Мутационное тестированиеАдекватность тестовmutmut, PITest, StrykerОценка качества тестов, дорого по времени
LLM-ревьюСопровождаемостьQodo, CodeRabbitКак дополнение, не как единственный фильтр

Глава 2. Проектирование: диаграммы, которые ждёт комиссия

Минимум, который нужен: контекстная C4-диаграмма (кто вызывает пайплайн — разработчик, CI, репозиторий) и диаграмма Container (генератор кода, статический сканер, тест-раннер, агрегатор метрик). Для последовательности обработки одного pull request — UML Sequence. BPMN уместен, если у вас бизнес-процесс ревью, а не технический пайплайн.

Пример минимального CI-workflow для верификации ИИ-кода:

name: verify-ai-code
on: [pull_request]

jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Скан уязвимостей
        run: semgrep --config=auto --json --output=semgrep.json .
      - name: Тесты и покрытие
        run: pytest --cov=src --cov-report=json
      - name: Мутационное тестирование
        run: mutmut run --paths-to-mutate src/ || true
      - name: Агрегация метрик
        run: python scripts/aggregate_metrics.py semgrep.json coverage.json

Глава 3. Эффективность: считаем честно

Три обязательные величины. Mutation Score = убитые мутанты / всего мутантов — показывает, насколько тесты «ловят» поломки. Defect Density = дефектов / KLOC — сравнивает ваш фильтр с бейзлайном без него. Precision / Recall верификатора — насколько точно он отсеивает именно некорректный код. Без этих цифр третий раздел превращается в пересказ.

# Утрированный псевдокод агрегации
correct_after_filter = sum(1 for c in candidates if verifier(c))
precision = correct_after_filter / len([c for c in candidates if verifier(c)])
recall    = correct_after_filter / len([c for c in candidates if is_actually_correct(c)])
mutation  = killed_mutants / total_mutants

Границы применимости: где ИИ-верификация не спасёт

Честно оговорите в выводах: статический анализ LLM-кода не ловит ошибки в бизнес-логике и требованиях, а генерация тестов может закреплять неверное поведение. Именно поэтому в архитектуре нужен слой «человеческого ревью» и система отслеживания, например на базе OpenTelemetry — чтобы видеть дефекты, которые проскочили в прод.

Чему вы научитесь на такой ВКР

Чек-лист «Что проверить перед сдачей»
  1. Все задачи из введения закрыты выводами по главам — сверьте по пунктам.
  2. Метрики посчитаны на реальном корпусе, а не «на трёх примерах из головы».
  3. Диаграммы пронумерованы, подписи соответствуют ГОСТ, есть ссылки в тексте.
  4. Листинги кода в приложениях — с указанием строк и конфигураций окружения.
  5. Список литературы включает первоисточники (ISO/IEC 25010, OWASP Top 10, C4 model), а не только блоги.
  6. Проверка на уникальность пройдена во всех вариантах антиплагиата вуза.
  7. Согласованы все термины: один и тот же объект не называется в гл.1 и гл.3 по-разному.
Типичные ошибки студентов

1. Тема про «ИИ вообще» вместо конкретного процесса. Работа в духе «применение ИИ в разработке ПО» обречена: слишком широко. Кейс Qodo показывает правильный фокус — верификация кода. Сузьте до одного процесса: сканирование, тестирование или ревью.

2. Отсутствие бейзлайна. Если вы не сравнили пайплайн с «ручным» ревью или с отсутствием фильтра, эффективность недоказуема. Хотя бы один baseline обязателен.

3. Копипаста конфигураций без объяснения. Комиссия спрашивает «почему именно Semgrep, а не CodeQL» — и студент молчит. Каждое архитектурное решение обосновывайте по критериям ISO/IEC 25010.

За 120 часов реального времени можно собрать корпус данных, провести эксперименты и оформить работу под требования вашего вуза. Если тема на стыке ИИ и тестирования кажется сложной — на бесплатной консультации наши специалисты подскажут, с чего начать и как сфокусировать научную новизну. Помощь с дипломом — это не про «сдать и забыть», а про понимание материала на защите.

Материал подготовлен экспертами компании Work5. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-10-15

Источник: Qodo raises $70M for code verification as AI coding scales (опубликовано 2026-03-30)

```