Tea: Program Repair Using Neural Network Based on Program Information Attention Matrix
Wenshuo Wang, Chen Wu, Liang Cheng, Yang Zhang

TL;DR
This paper introduces a neural network-based approach for program repair that leverages a comprehensive representation of software programs, including syntax, data flow, and control flow, to improve bug fixing effectiveness.
Contribution
It proposes a unified representation capturing multiple aspects of software programs and a method to guide transformer models using this information for better bug repair.
Findings
More comprehensive program information improves ML-driven bug fixing.
Preliminary experiments show enhanced repair performance with richer data.
Unified representation aids in understanding complex program structures.
Abstract
The advance in machine learning (ML)-driven natural language process (NLP) points a promising direction for automatic bug fixing for software programs, as fixing a buggy program can be transformed to a translation task. While software programs contain much richer information than one-dimensional natural language documents, pioneering work on using ML-driven NLP techniques for automatic program repair only considered a limited set of such information. We hypothesize that more comprehensive information of software programs, if appropriately utilized, can improve the effectiveness of ML-driven NLP approaches in repairing software programs. As the first step towards proving this hypothesis, we propose a unified representation to capture the syntax, data flow, and control flow aspects of software programs, and devise a method to use such a representation to guide the transformer model from…
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.
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 System Performance and Reliability
MethodsRepair
