mlsanityData to 7 Oct 2026

SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnostics

arXiv 2104.14671 ↗First posted 29 Apr 2021cs.SE cs.LGcited by 8

Not on the map. Why?

Abstract (arXiv)

Beginning programmers struggle with the complex grammar of modern programming languages like Java, and make lot of syntax errors. The diagnostic syntax error messages from compilers and IDEs are sometimes useful, but often the messages are cryptic and puzzling. Students could be helped, and instructors' time saved, by automated repair suggestions when dealing with syntax errors. Large samples of student errors and fixes are now available, offering the possibility of data-driven machine-learning approaches to help students fix syntax errors. Current machine-learning approaches do a reasonable job fixing syntax errors in shorter programs, but don't work as well even for moderately longer programs. We introduce SYNFIX, a machine-learning based tool that substantially improves on the state-of-the-art, by learning to use compiler diagnostics, employing a very large neural model that leverages unsupervised pre-training, and relying on multi-label classification rather than autoregressive synthesis to generate the (repaired) output. We describe SYNFIX's architecture in detail, and provide a detailed evaluation. We have built SYNFIX into a free, open-source version of Visual Studio Code; we make all our source code and models freely available.

Key facts. Cited by 8 papers in the map (data through 7 Oct 2026). Builds on 21 of its 57 references that are in the map. First posted on arXiv 29 Apr 2021.

Builds on

21 of 57 references.

References · 21

  1. 2017Attention Is All You Needcited by 59,932
  2. 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
  3. 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
  4. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  5. 2015Effective Approaches to Attention-based Neural Machine Translationcited by 1,024
  6. 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
  7. 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
  8. 2021Unified Pre-training for Program Understanding and Generationcited by 361
  9. 2017OpenNMT: Open-source Toolkit for Neural Machine Translationcited by 251
  10. 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
  11. 2020Graph-based, Self-Supervised Program Repair from Diagnostic Feedbackcited by 93
  12. 2021Studying the Usage of Text-To-Text Transfer Transformer to Support Code-Related Taskscited by 70
9 more
  1. 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
  2. 2018DeepBugs: A Learning Approach to Name-based Bug Detectioncited by 65
  3. 2020Big Code != Big Vocabulary: Open-Vocabulary Models for Source Codecited by 53
  4. 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
  5. 2021ProphetNet-X: Large-Scale Pre-training Models for English, Chinese, Multi-lingual, Dialog, and Code Generationcited by 31
  6. 2020Patching as Translation: the Data and the Metaphorcited by 18
  7. 2021Learning to Find Usages of Library Functions in Optimized Binariescited by 5
  8. 2018Deep Reinforcement Learning for Programming Language Correctioncited by 4
  9. 2019Learning Lenient Parsing & Typing via Indirect Supervisioncited by 1

Built on by

Cited by year

Citing papers per year: 2023: 3; 2024: 3; 2025: 2.

8 papers.