SEAIJul 17, 2021

Tea: Program Repair Using Neural Network Based on Program Information Attention Matrix

arXiv:2107.08262v1
Originality Incremental advance
AI Analysis

This work addresses the challenge of automatic program repair for software developers by enhancing existing ML-driven NLP methods with more comprehensive program information, though it is incremental as it builds on prior techniques.

The paper tackled the problem of automatic bug fixing in software programs by using a unified representation that captures syntax, data flow, and control flow to guide transformer models, resulting in improved performance of ML-driven NLP techniques for program repair.

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 NLP in better understanding and fixing buggy programs. Our preliminary experiment confirms that the more comprehensive information of software programs used, the better ML-driven NLP techniques can perform in fixing bugs in these programs.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes