TreeRanker : Système de classement rapide et agnostique aux modèles pour les suggestions de code dans les IDE
TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEs
August 4, 2025
papers.authors: Daniele Cipollone, Egor Bogomolov, Arie van Deursen, Maliheh Izadi
cs.AI
papers.abstract
La complétion de code au niveau des tokens est l'une des fonctionnalités les plus critiques des environnements de développement intégrés (IDE) modernes. Elle aide les développeurs en suggérant des identifiants et des API pertinents pendant la phase de codage. Bien que les suggestions soient généralement dérivées d'une analyse statique, leur utilité dépend fortement de la manière dont elles sont classées, car les prédictions correctes enfouies profondément dans la liste sont rarement vues par les utilisateurs. La plupart des systèmes actuels reposent sur des heuristiques conçues manuellement ou sur des modèles d'apprentissage automatique légers entraînés sur des logs d'utilisateurs, qui peuvent être encore améliorés pour capturer les informations contextuelles et généraliser à travers les projets et les styles de codage. Dans ce travail, nous proposons une nouvelle approche de notation pour classer les complétions statiques en utilisant des modèles de langage de manière légère et indépendante du modèle. Notre méthode organise toutes les complétions valides dans un arbre de préfixes et effectue un seul passage de décodage glouton pour collecter les scores au niveau des tokens à travers l'arbre. Cela permet un classement précis et conscient des tokens sans nécessiter de recherche par faisceau, d'ingénierie de prompts ou d'adaptations de modèles. L'approche est rapide, indépendante de l'architecture et compatible avec les modèles déjà déployés pour la complétion de code. Ces résultats mettent en évidence une voie pratique et efficace pour intégrer des modèles de langage dans les outils déjà existants au sein des IDE, et finalement fournir une assistance aux développeurs plus intelligente et réactive.
English
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.