Tea: Program Repair Using Neural Network Based on Program Information Attention Matrix
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.
Code (0)
등록된 구현이 없습니다.
Tasks
Bug fixingProgram RepairTranslationMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
How Do LLMs Read Bug Reports? An Empirical Study of Attention in LLMs for Automated Program Repair
Large Language Model (LLM)-based Automated Program Repair systems are advancing rapidly, yet their performance remains inconsistent. Even when provided with the same contextual information, an LLM may generate a correct …
Program RepairRunBugRun -- An Executable Dataset for Automated Program Repair
Recently, we can notice a transition to data-driven techniques in Automated Program Repair (APR), in particular towards deep neural networks. This entails training on hundreds of thousands or even millions of non-executa…
Program RepairLearner-Tailored Program Repair: A Solution Generator with Iterative Edit-Driven Retrieval Enhancement
With the development of large language models (LLMs) in the field of programming, intelligent programming coaching systems have gained widespread attention. However, most research focuses on repairing the buggy code of p…
Program RepairGradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces
Automatic program repair seeks to generate correct code from buggy programs, with most approaches searching the correct program in a discrete, symbolic space of source code tokens. This symbolic search is fundamentally l…
Program RepairPeer-aided Repairer: Empowering Large Language Models to Repair Advanced Student Assignments
Automated generation of feedback on programming assignments holds significant benefits for programming education, especially when it comes to advanced assignments. Automated Program Repair techniques, especially Large La…
Language ModellingLarge Language ModelProgram Repair