TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEs
2508.02455v1
cs.SE, cs.AI, cs.IR
2025-08-09
Авторы:
Daniele Cipollone, Egor Bogomolov, Arie van Deursen, Maliheh Izadi
Резюме на русском
Наиболее важная функция современных интегрированных сред разработки (IDE) — токен-уровневая комплиционка, которая предлагает разработчикам актуальные идентификаторы и API во время написания кода. Хотя предложения формируются с помощью статического анализа, их полезность определяется порядком их отображения. Многие нынешние системы полагаются на ручную инженерию или легкие модели машинного обучения, основанные на пользовательских логах, что ограничивает их общую наглядность и интеллектуальность.
В этой работе предложен новый подход к оценке статических комплиционок с помощью языковых моделей, реализованный в модели TreeRanker. Он организует все возможные комплиционы в префиксное дерево и выполняет один проход жадного декодирования для вычисления токен-уровневых оценок. Это позволяет достичь точного токен-уровневого ранжирования без необходимости использовать биржу поиска, манипуляции с запросами или адаптации моделей. Метод является быстрым, архитектурно независимым и взаимодействует с уже развернутыми моделями для комплиционок. Эти результаты показывают практичность и эффективность интеграции языковых моделей в существующие средства IDE, для повышения точности и отзывчивости рекомендаций.
Abstract
Token-level code completion is one of the most critical features in modern
Integrated Development Environments (IDEs). It assists developers by suggesting
relevant identifiers and APIs during coding. While completions are typically
derived from static analysis, their usefulness depends heavily on how they are
ranked, as correct predictions buried deep in the list are rarely seen by
users. Most current systems rely on hand-crafted heuristics or lightweight
machine learning models trained on user logs, which can be further improved to
capture context information and generalize across projects and coding styles.
In this work, we propose a new scoring approach to ranking static completions
using language models in a lightweight and model-agnostic way. Our method
organizes all valid completions into a prefix tree and performs a single greedy
decoding pass to collect token-level scores across the tree. This enables a
precise token-aware ranking without needing beam search, prompt engineering, or
model adaptations. The approach is fast, architecture-agnostic, and compatible
with already deployed models for code completion. These findings highlight a
practical and effective pathway for integrating language models into already
existing tools within IDEs, and ultimately providing smarter and more
responsive developer assistance.
Ссылки и действия
Дополнительные ресурсы: