HyperAIHyperAI
vor 2 Monaten

Fehler beheben mit Transformer durch eine neurale-symbologische Editiergrammatik

Hu, Yaojie ; Shi, Xingjian ; Zhou, Qiang ; Pike, Lee
Fehler beheben mit Transformer durch eine neurale-symbologische Editiergrammatik
Abstract

Wir stellen NSEdit (neuronale-symbolische Bearbeitung) vor, eine neuartige Transformer-basierte Methode zur Code-Reparatur. Angenommen wird nur die Quellcodeversion mit Fehlern, NSEdit prognostiziert eine Bearbeitungssequenz, die diese Fehler beheben kann. Die Bearbeitungsgrammatik wird als reguläre Sprache formuliert, und der Transformer verwendet sie als neuronale-symbolische Skripting-Schnittstelle zur Generierung von Bearbeitungsprogrammen. Wir modifizieren den Transformer und fügen ein Pointernetzwerk hinzu, um die Bearbeitungspositionen auszuwählen. Eine Ensemble von Rerankern wird trainiert, um die durch Strahlensuche generierten Bearbeitungssequenzen neu zu bewerten. Die Reranker werden auf dem Validierungsdatensatz feinjustiert, um das Überfitting zu reduzieren. NSEdit wurde auf verschiedenen Code-Reparatur-Datensätzen evaluiert und erreichte eine neue Standesgenauigkeit ($24{,}04\%$) auf dem kleinen Datensatz von Tufano des CodeXGLUE-Benchmarks. NSEdit zeigt eine robuste Leistung, wenn Programme von Paket zu Paket variieren und wenn fehlerhafte Programme konkret sind. Wir führen eine detaillierte Analyse unserer Methoden durch und demonstrieren die Effektivität jeder Komponente.

Fehler beheben mit Transformer durch eine neurale-symbologische Editiergrammatik | Neueste Forschungsarbeiten | HyperAI