ChatPaper.aiChatPaper

Große Sprachmodelle eine ressourcenarme Sprache lehren: Verbesserung der Code-Vervollständigung in Pharo

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

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

Zusammenfassung

Große Sprachmodelle (Large Language Models, LLMs) haben neue Möglichkeiten für das automatisierte Schreiben von Code eröffnet und sind zum Rückgrat der meisten Code-Vervollständigungswerkzeuge geworden. Während LLMs in gängigen Programmiersprachen hervorragende Leistungen erbringen, fehlt ihnen oft die Unterstützung für sogenannte ressourcenarme Sprachen (Low-Resource Languages), bei denen Trainingsdaten knapp sind. Dadurch hinken diese Sprachen in der Qualität der für ihre Communities verfügbaren Code-Vervollständigungswerkzeuge hinterher. Ein konkretes Beispiel ist Pharo, eine von Smalltalk inspirierte Sprache, deren IDE derzeit nur eine Ein-Token-Vervollständigung bietet. In dieser Arbeit berichten wir über unsere Erfahrungen bei der Einführung von LLM-basierter Code-Vervollständigung für Pharo. Zunächst beschreiben wir eine End-to-End-Pipeline, die eine Pharo-spezifische Datenaufbereitung, fortgesetztes Vortraining (Continued Pre-Training) und Feinabstimmung (Fine-Tuning) offener Code-LLMs kombiniert. Zweitens stellen wir eine Reihe von Pharo-Code-Vervollständigungs-Benchmarks vor, die darauf ausgelegt sind, zu bewerten, ob Modelle (i) die Syntax von Pharo erlernen und (ii) maskierten Pharo-Code aus realen GitHub-Repositorien präzise vervollständigen. Drittens zeigen wir empirisch, dass Pharo-spezialisierte Modelle ihre ursprünglichen Basis-Checkpoints deutlich übertreffen und auch die Genauigkeit wesentlich größerer Code-LLMs bei der Pharo-Vervollständigung übersteigen. Insgesamt demonstriert unsere Fallstudie die Machbarkeit, leistungsstarke LLM-basierte Code-Vervollständigung für ressourcenarme Programmiersprachen bereitzustellen – mit Modellen, die klein genug sind, um „Echtzeit“-Unterstützung innerhalb der IDE zu bieten.
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.