ChatPaper.aiChatPaper

Enseigner aux LLMs une langue à faibles ressources : Améliorer la complétion de code dans Pharo

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

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

Résumé

Les Grands Modèles de Langage (LLMs) ont ouvert de nouvelles possibilités dans l'écriture automatisée de code, devenant le pilier de la plupart des outils de complétion de code. Bien que les LLMs excellent dans les langages courants, ils manquent souvent de support pour les langues dites à faibles ressources, où les données d'entraînement sont rares. En conséquence, ces langages accusent un retard dans la qualité des outils de complétion de code disponibles pour leurs communautés. Un exemple concret est Pharo, un langage inspiré de Smalltalk dont l'IDE ne propose actuellement qu'une complétion par jeton unique. Dans ce travail, nous rapportons notre expérience visant à intégrer la complétion de code basée sur les LLMs à Pharo. Premièrement, nous décrivons un pipeline de bout en bout combinant la curation de données spécifiques à Pharo, un pré-entraînement continu et un fine-tuning de LLMs de code ouverts. Deuxièmement, nous présentons un ensemble de benchmarks de complétion de code Pharo conçus pour évaluer si les modèles (i) apprennent la syntaxe de Pharo et (ii) complètent avec précision le code Pharo masqué provenant de dépôts GitHub réels. Troisièmement, nous montrons empiriquement que les modèles spécialisés pour Pharo surpassent substantiellement leurs points de contrôle de base originaux et dépassent également la précision de LLMs de code considérablement plus grands sur la complétion Pharo. Dans l'ensemble, notre étude de cas démontre la faisabilité d'apporter une complétion de code basée sur les LLMs performante aux langages de programmation à faibles ressources, avec des modèles suffisamment petits pour fournir un support "en temps réel" au sein de l'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.