Seq2Parse: neurosymbolic parse error repair

Abstract

We present Seq2Parse, a language-agnostic neurosymbolic approach to automatically repairing parse errors. Seq2Parse is based on the insight that Symbolic Error Correcting (EC) Parsers can, in principle, synthesize repairs, but, in practice, are overwhelmed by the many error-correction rules that are not relevant to the particular program that requires repair. In contrast, Neural approaches are fooled by the large space of possible sequence level edits, but can precisely pinpoint the set of EC-rules that are relevant to a particular program. We show how to combine their complementary strengths by using neural methods to train a sequence classifier that predicts the small set of relevant EC-rules for an ill-parsed program, after which, the symbolic EC-parsing algorithm can make short work of generating useful repairs. We train and evaluate our method on a dataset of 1,100,000 Python programs, and show that Seq2Parse is accurate and efficient : it can parse 94% of our tests within 2.1 seconds, while generating the exact user fix in 1 out 3 of the cases; and useful : humans perceive both Seq2Parse-generated error locations and repairs to be almost as good as human-generated ones in a statistically-significant manner.

Document Details

Document Type
Pub Defense Publication
Publication Date
Oct 31, 2022
Source ID
10.1145/3563330

Entities

People

  • Georgios Sakkas
  • Madeline Endres
  • Philip Guo
  • Ranjit Jhala
  • Westley Weimer

Organizations

  • Air Force Office of Scientific Research
  • National Science Foundation
  • University of California, San Diego
  • University of Michigan

Tags

Fields of Study

  • Computer science

Readers

  • Computational Modeling and Simulation
  • Educational Psychology
  • Neural Network Machine Learning.

Technology Areas

  • Space