SWE-QA: Могут ли языковые модели отвечать на вопросы уровня репозитория по коду?
SWE-QA: Can Language Models Answer Repository-level Code Questions?
September 18, 2025
Авторы: Weihan Peng, Yuling Shi, Yuhang Wang, Xinyun Zhang, Beijun Shen, Xiaodong Gu
cs.AI
Аннотация
Понимание и анализ целых программных репозиториев является ключевой способностью для интеллектуальных инструментов разработки программного обеспечения. Хотя существующие бенчмарки, такие как CoSQA и CodeQA, продвинули эту область, они в основном сосредоточены на небольших, самодостаточных фрагментах кода. Такие подходы не учитывают сложность реальных репозиториев, где эффективное понимание и анализ часто требуют работы с несколькими файлами, понимания архитектуры программного обеспечения и учета долгосрочных зависимостей в коде. В этой статье мы представляем SWE-QA, бенчмарк для ответов на вопросы на уровне репозитория, предназначенный для содействия исследованиям в области автоматизированных систем ответов на вопросы в реалистичных условиях работы с кодом. SWE-QA включает 576 высококачественных пар вопросов и ответов, охватывающих различные категории, такие как понимание намерений, анализ между файлами и многошаговый анализ зависимостей. Для создания SWE-QA мы сначала собрали 77 100 GitHub-иssues из 11 популярных репозиториев. На основе анализа естественных вопросов разработчиков, извлеченных из этих issues, мы разработали двухуровневую таксономию вопросов на уровне репозитория и создали набор начальных вопросов для каждой категории. Для каждой категории мы вручную отбирали и проверяли вопросы, а также собирали соответствующие ответы. В качестве прототипного приложения мы также разработали SWE-QA-Agent, агентскую платформу, в которой агенты на основе крупных языковых моделей (LLM) анализируют и действуют для автоматического поиска ответов. Мы оцениваем шесть современных LLM на SWE-QA с использованием различных стратегий контекстного расширения. Результаты экспериментов подчеркивают потенциал LLM, особенно нашей платформы SWE-QA-Agent, в решении задач ответов на вопросы на уровне репозитория, а также выявляют открытые проблемы и указывают направления для будущих исследований.
English
Understanding and reasoning about entire software repositories is an
essential capability for intelligent software engineering tools. While existing
benchmarks such as CoSQA and CodeQA have advanced the field, they predominantly
focus on small, self-contained code snippets. These setups fail to capture the
complexity of real-world repositories, where effective understanding and
reasoning often require navigating multiple files, understanding software
architecture, and grounding answers in long-range code dependencies. In this
paper, we present SWE-QA, a repository-level code question answering (QA)
benchmark designed to facilitate research on automated QA systems in realistic
code environments. SWE-QA involves 576 high-quality question-answer pairs
spanning diverse categories, including intention understanding, cross-file
reasoning, and multi-hop dependency analysis. To construct SWE-QA, we first
crawled 77,100 GitHub issues from 11 popular repositories. Based on an analysis
of naturally occurring developer questions extracted from these issues, we
developed a two-level taxonomy of repository-level questions and constructed a
set of seed questions for each category. For each category, we manually curated
and validated questions and collected their corresponding answers. As a
prototype application, we further develop SWE-QA-Agent, an agentic framework in
which LLM agents reason and act to find answers automatically. We evaluate six
advanced LLMs on SWE-QA under various context augmentation strategies.
Experimental results highlight the promise of LLMs, particularly our
SWE-QA-Agent framework, in addressing repository-level QA, while also revealing
open challenges and pointing to future research directions.