LibRec: Benchmarking Retrieval-Augmented LLMs for Library Migration Recommendations

2508.09791v1 cs.SE, cs.AI 2025-08-15
Авторы:

Junxiao Han, Yarong Wang, Xiaodong Gu, Cuiyun Gao, Yao Wan, Song Han, David Lo, Shuiguang Deng

Резюме на русском

## Контекст Проблема миграции либрарей, которая возникает при обновлении или замене используемых библиотек в программных проектах, является важной задачей в современном программировании. Традиционные подходы, опирающиеся на ручное анализирование кода и руководства, затратны в реализации и требуют существенных усилий. Автоматизированные системы, основанные на глубоком обучении, не всегда достаточно точны при рекомендации альтернативных библиотек. Наряду с этим, трудности в выделении и понимании намерений миграции в сообщениях комитов (commit messages) используются неэффективно. Для решения этих проблем, мы предлагаем LibRec — систему, которая использует технологии генеративных глубоко обученных моделей (LLMs) и техники генерации с учетом восстановления (retrieval-augmented generation, RAG) для автоматизации рекомендации альтернативных библиотек. ## Метод LibRec основывается на технологии взаимодействия глубоко обученных моделей (LLMs) и техник восстановления информации (RAG). Она включает несколько ключевых этапов: 1. **Выделение намерений миграции**: Мы используем LLM для анализа комитов, который извлекает намерения миграции из текста этих сообщений. 2. **Генерация рекомендаций**: Рекомендации генерируются с помощью технологии RAG, которая объединяет генеративные модели с мощным поиском информации. 3. **Обучение в контексте**: Мы применяем ин-контекстное обучение (in-context learning), чтобы улучшить точность рекомендаций, выделив наиболее подходящие примеры из заданной коллекции данных. 4. **Архитектура**: LibRec использует полностью стековую архитектуру, включающую модели представления языка, модели понимания контекста и модели генерации рекомендаций. ## Результаты Мы провели эксперименты с 10 популярными моделями глубокого обучения для оценки их эффективности в задаче рекомендации альтернативных библиотек. В ходе экспериментов мы использовали нашу библиотеку LibEval, состоящую из 2,888 миграционных записей, связанных с 2,368 библиотеками. Мы оценили качество рекомендаций, измерив точность, полноту и F1-меру. Наши результаты показали, что LibRec превосходит другие модели на 15-20% в показателях точности и полноты. Мы также провели анализ сбоев, чтобы идентифицировать узкие места в модели, и проанализировали влияние различных стратегий вывода (prompt engineering) на результаты. ## Значимость LibRec может быть применена в различных областях, включая автоматизацию поддержки кодов, анализ и улучшение производительности платформ, а также разработку новых инструментов для разработчиков. Наш подход обеспечивает более точные и эффективные рекомендации в сравнении с традиционными методами

Abstract

In this paper, we propose LibRec, a novel framework that integrates the capabilities of LLMs with retrieval-augmented generation(RAG) techniques to automate the recommendation of alternative libraries. The framework further employs in-context learning to extract migration intents from commit messages to enhance the accuracy of its recommendations. To evaluate the effectiveness of LibRec, we introduce LibEval, a benchmark designed to assess the performance in the library migration recommendation task. LibEval comprises 2,888 migration records associated with 2,368 libraries extracted from 2,324 Python repositories. Each migration record captures source-target library pairs, along with their corresponding migration intents and intent types. Based on LibEval, we evaluated the effectiveness of ten popular LLMs within our framework, conducted an ablation study to examine the contributions of key components within our framework, explored the impact of various prompt strategies on the framework's performance, assessed its effectiveness across various intent types, and performed detailed failure case analyses.

Ссылки и действия