RNTI

MODULAD
Apprentissage d'embeddings de codes pour l'enseignement de la programmation : une approche fondée sur l'analyse des traces d'exécution
In EGC 2021, vol. RNTI-E-37, pp.107-118
Résumé
Améliorer l'efficacité pédagogique des plateformes d'entraînement à la programmation est une problématique en pleine effervescence qui nécessite de construire des représentations fines et exploitables des programmes d'apprenants. Cet article présente une nouvelle approche pour l'apprentissage d'embeddings de programmes. Partant de l'hypothèse que la fonctionnalité d'un programme, mais aussi son "style", peuvent être capturés par l'analyse des traces d'exécutions, la méthode code2aes2vec procède en deux étapes. Une première étape génère des séquences d'exécutions abstraites (AES) à partir de tests unitaires et des arbres syntaxiques abstraits (AST) des programmes soumis. La méthode doc2vec est ensuite utilisée pour apprendre des représentations vectorielles condensées (embeddings) des programmes à partir de ces AES. Cette contribution donne également lieu à l'exploitation et la mise à disposition de nouveaux jeux de données réelles. Une première évaluation réalisée sur ces données montre que les embeddings générés par code2aes2vec semblent capturer efficacement la fonctionnalité et le style des programmes.