ChatPaper.aiChatPaper

TreeRanker: Sistema Rápido y Agnóstico de Modelos para la Clasificación de Sugerencias de Código en IDEs

TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEs

August 4, 2025
Autores: Daniele Cipollone, Egor Bogomolov, Arie van Deursen, Maliheh Izadi
cs.AI

Resumen

La finalización de código a nivel de token es una de las características más críticas en los Entornos de Desarrollo Integrados (IDEs) modernos. Asiste a los desarrolladores sugiriendo identificadores y APIs relevantes durante la codificación. Aunque las sugerencias suelen derivarse de análisis estáticos, su utilidad depende en gran medida de cómo se clasifican, ya que las predicciones correctas enterradas en lo profundo de la lista rara vez son vistas por los usuarios. La mayoría de los sistemas actuales dependen de heurísticas diseñadas manualmente o modelos de aprendizaje automático livianos entrenados con registros de usuarios, los cuales pueden mejorarse aún más para capturar información contextual y generalizar entre proyectos y estilos de codificación. En este trabajo, proponemos un nuevo enfoque de puntuación para clasificar las sugerencias estáticas utilizando modelos de lenguaje de manera liviana y agnóstica al modelo. Nuestro método organiza todas las sugerencias válidas en un árbol de prefijos y realiza un único paso de decodificación codicioso para recopilar puntuaciones a nivel de token a lo largo del árbol. Esto permite una clasificación precisa y consciente de los tokens sin necesidad de búsqueda por haz, ingeniería de prompts o adaptaciones del modelo. El enfoque es rápido, agnóstico a la arquitectura y compatible con modelos ya implementados para la finalización de código. Estos hallazgos destacan una vía práctica y efectiva para integrar modelos de lenguaje en herramientas ya existentes dentro de los IDEs, y en última instancia, proporcionar una asistencia más inteligente y receptiva para los desarrolladores.
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