Vi presenterar en metod för att automatiskt generera reparationsfeedback för syntaxfel för inledande programmeringsproblem. Syntaxfel utgör en av de största felklasserna (34 %) i vår datauppsättning av inlagor från en MOOC-kurs på edX. De tidigare teknikerna för att generera automatiserad återkoppling på programmeringsuppgifter har fokuserat på funktionell korrekthet och stilöverväganden av studentprogram. Dessa tekniker analyserar programmet AST av programmet och sedan utföra några dynamiska och symboliska analyser för att beräkna reparation återkoppling. Tyvärr är det inte möjligt att generera ASTs för studentprogram med syntaxfel och därför är de tidigare återkopplingsteknikerna inte tillämpliga vid reparation av syntaxfel. Vi presenterar en teknik för att ge återkoppling på syntaxfel som använder recurrent neurala nätverk (RNN) för att modellera syntaktiskt giltiga tokensekvenser. Vår strategi är inspirerad av det senaste arbetet med att lära sig språkmodeller från Big Code (stor kod corpus). För en given programmeringsuppgift lär vi oss först en RNN för att modellera alla giltiga tokensekvenser med hjälp av en uppsättning syntaktiskt korrekta studentinlagor. Sedan, för en student inlämning med syntaxfel, frågar vi den inlärda RNN modellen med prefix token sekvens för att förutsäga token sekvenser som kan fixa felet genom att antingen ersätta eller infoga den förutsagda token sekvens på felplatsen. Vi utvärderar vår teknik på över 14, 000 studentinlagor med syntaxfel. Vår teknik kan helt reparera 31,69% (4501/14203) av inlagor med syntaxfel och dessutom delvis korrigera 6,39% (908/14203) av inlagorna.
SynFix REF lär sig en följande2seq-modell över en uppsättning korrekta program, och använder sedan den inlärda modellen för att förutsäga syntaxkorrigeringar för buggiga program.
Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural Networks
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}