ChatPaper.aiChatPaper

Enseñando a los LLM un lenguaje de bajos recursos: mejora del completado de código en Pharo

Teaching LLMs a Low-Resource Language: Enhancing Code Completion in Pharo

July 6, 2026
Autores: Kilian Kier, Alessandro Giagnorio, Omar AbedelKader, Oleksandr Zaitsev, Robert Peharz, Romain Robbes, Gabriele Bavota, Stéphane Ducasse
cs.AI

Resumen

Los Modelos de Lenguaje de Gran Escala (LLMs) han abierto nuevas posibilidades en la escritura automatizada de código, convirtiéndose en la base de la mayoría de las herramientas de completado de código. Si bien los LLMs destacan en lenguajes mayoritarios, a menudo carecen de soporte para los denominados lenguajes de bajos recursos, donde los datos de entrenamiento son escasos. Como resultado, estos lenguajes se quedan rezagados en la calidad de las herramientas de completado de código disponibles para sus comunidades. Un ejemplo concreto es Pharo, un lenguaje inspirado en Smalltalk cuyo IDE actualmente solo ofrece completado de un único token. En este trabajo, informamos sobre nuestra experiencia al llevar el completado de código basado en LLMs a Pharo. Primero, describimos un pipeline de extremo a extremo que combina la curación de datos específicos de Pharo, el preentrenamiento continuado y el ajuste fino de LLMs de código abierto. Segundo, presentamos un conjunto de puntos de referencia de completado de código de Pharo diseñados para evaluar si los modelos (i) aprenden la sintaxis de Pharo y (ii) completan con precisión código de Pharo enmascarado proveniente de repositorios reales de GitHub. Tercero, mostramos empíricamente que los modelos especializados en Pharo superan sustancialmente a sus puntos de control base originales y también exceden la precisión de LLMs de código significativamente más grandes en el completado de Pharo. En general, nuestro estudio de caso demuestra la viabilidad de llevar un sólido completado de código basado en LLMs a lenguajes de programación de bajos recursos, con modelos lo suficientemente pequeños como para proporcionar soporte en tiempo real dentro del IDE.
English
Large Language Models (LLMs) unlocked new possibilities in automated code writing, becoming the backbone of most code completion tools. While LLMs excel in mainstream languages, they often lack support for the so-called low-resource languages where training data is scarce. As a result, these languages lag behind in the quality of code completion tooling available to their communities. A concrete example is Pharo, a Smalltalk-inspired language whose IDE currently offers only single-token completion. In this work, we report on our experience bringing LLM-based code completion to Pharo. First, we describe an end-to-end pipeline that combines Pharo-specific data curation, continued pre-training and fine-tuning of open code LLMs. Second, we introduce a set of Pharo code completion benchmarks designed to evaluate whether models (i) learn Pharo's syntax and (ii) accurately complete masked Pharo code from real-world GitHub repositories. Third, we show empirically that Pharo-specialized models substantially outperform their original base checkpoints and also exceed the accuracy of substantially larger code LLMs on Pharo completion. Overall, our case study demonstrates the feasibility of bringing strong LLM-based code completion to low-resource programming languages, with models small enough to provide ``real-time'' in-IDE support.