arrow
Return

SynShine: Improved Fixing of Syntax Errors

delete2023-04-01
delete9
PRE
AI
T
Toufique Ahmed *
N
Noah Rose Ledesma
P
Prémkumar Dévanbu
DOI:10.1109/TSE.2022.3212635delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Novice programmers struggle with the complex syntax 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. Novices could be helped, and instructors' time saved, by automated repair suggestions when dealing with syntax errors. Large samples of novice errors and fixes are now available, offering the possibility of data-driven machine-learning approaches to help novices 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 SYNSHINE, 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 SYNSHINE's architecture in detail, and provide a detailed evaluation. We have built SYNSHINE into a free, open-source version of Visual Studio Code (VSCode); we make all our source code and models freely available.
Keywords:
Deep learning
program repair
naturalness

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

University of California System cover
University of California System
Scholars:
37.7W
Papers: 33.8W
Citations: 6.6K
Cited Papers

Cited Papers

errShare
errSave
Structure and function of negative-strand RNA virus polymerase complexes
err2021-01-01
err0
PREAI
errJesse D. Pyle; Sean P.J. Whelan; Louis-Marie Bloyet
errShare
errSave
Caveolin-1 and -2 regulate cell motility in castration-resistant prostate cancer
err2018-10-01
err0
errOAAI
errToyoharu Kamibeppu; Koji Yamasaki; Kozue Nakahara; Takahiro Nagai; Naoki Terada; Hiromasa Tsukino; Shoichiro Mukai; Toshiyuki Kamoto
errShare
errSave
“It's almost like they're trying to hide it”: How User-Provided Image Descriptions Have Failed to Make Twitter Accessible
err2019-05-13
err0
errOAAI
errCole Gleason; Patrick Carrington; Cameron Cassidy; Meredith Ringel Morris; Kris M. Kitani; Jeffrey P. Bigham
errShare
errSave
errShare
errSave
SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair
err2021-01-01
err217
errOAAI
errChen, Zimin; Kommrusch, Steve; Tufano, Michele; Pouchet, Louis-Noel; Poshyvanyk, Denys; Monperrus, Martin
errShare
errSave
Acid catalysis in hydrolytic reactions
err1929-01-01
err0
PREAI
errJ. N. Brönsted; W. F. K. Wynne-Jones
errShare
errSave
researcher View more