Dynamic Neural Program Embedding for Program Repair
Ke Wang, Rishabh Singh, Zhendong Su

TL;DR
This paper introduces a semantic program embedding learned from execution traces, which improves program repair and error prediction over traditional syntax-based embeddings by capturing program behavior more accurately.
Contribution
The paper presents a novel semantic embedding method for programs based on execution traces, enhancing program analysis tasks like repair and error prediction.
Findings
Semantic embedding outperforms syntactic embeddings in error type prediction
Semantic embedding improves search efficiency in program repair
Evaluation on educational platforms demonstrates effectiveness
Abstract
Neural program embeddings have shown much promise recently for a variety of program analysis tasks, including program synthesis, program repair, fault localization, etc. However, most existing program embeddings are based on syntactic features of programs, such as raw token sequences or abstract syntax trees. Unlike images and text, a program has an unambiguous semantic meaning that can be difficult to capture by only considering its syntax (i.e. syntactically similar pro- grams can exhibit vastly different run-time behavior), which makes syntax-based program embeddings fundamentally limited. This paper proposes a novel semantic program embedding that is learned from program execution traces. Our key insight is that program states expressed as sequential tuples of live variable values not only captures program semantics more precisely, but also offer a more natural fit for Recurrent…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software Reliability and Analysis Research
