ChatPaper.aiChatPaper

TreeRanker: Schnelles und modellunabhängiges Ranking-System für Code-Vorschläge in IDEs

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

Die Token-Level-Code-Vervollständigung ist eine der wichtigsten Funktionen in modernen Integrierten Entwicklungsumgebungen (IDEs). Sie unterstützt Entwickler, indem sie relevante Bezeichner und APIs während des Programmierens vorschlägt. Obwohl Vervollständigungen typischerweise aus statischen Analysen abgeleitet werden, hängt ihre Nützlichkeit stark davon ab, wie sie gerankt werden, da korrekte Vorhersagen, die tief in der Liste verborgen sind, selten von Nutzern gesehen werden. Die meisten aktuellen Systeme verlassen sich auf handgefertigte Heuristiken oder leichtgewichtige maschinelle Lernmodelle, die auf Benutzerprotokollen trainiert wurden. Diese können weiter verbessert werden, um Kontextinformationen zu erfassen und sich über Projekte und Programmierstile hinweg zu verallgemeinern. In dieser Arbeit schlagen wir einen neuen Bewertungsansatz vor, um statische Vervollständigungen mithilfe von Sprachmodellen auf eine leichtgewichtige und modellunabhängige Weise zu ranken. Unsere Methode organisiert alle gültigen Vervollständigungen in einen Präfixbaum und führt einen einzigen gierigen Dekodierungsdurchlauf durch, um Token-Level-Bewertungen über den Baum hinweg zu sammeln. Dies ermöglicht ein präzises, tokenbewusstes Ranking ohne die Notwendigkeit von Beam Search, Prompt Engineering oder Modellanpassungen. Der Ansatz ist schnell, architekturunabhängig und kompatibel mit bereits eingesetzten Modellen für die Code-Vervollständigung. Diese Ergebnisse zeigen einen praktischen und effektiven Weg auf, um Sprachmodelle in bereits vorhandene Tools innerhalb von IDEs zu integrieren und letztendlich intelligentere und reaktionsschnellere Entwicklerunterstützung zu bieten.
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.
PDF12August 6, 2025