Using the Deep Learning-Based Approaches for Program Debugging and Repair

Tzu-Yang Lin,Chin-Yu Huang,Chih-Chiang Fang
DOI: https://doi.org/10.1109/DSA59317.2023.00059
2023-01-01
Abstract:Maintenance is the most labor-intensive stage in the Software System Development Life Cycle (SDLC). When an error is detected, an Automatic Program Repair (APR) system can locate the error by utilizing fault prediction and then employ search-based or semantic-based repair techniques to attempt to fix it. Finally, the program repair system runs test cases to verify that the errors have been properly repaired and the program's functionality has not been compromised. In this study, we present a novel approach called Deep Learning Based GenProg (DLBGP), which combines deep learning with APR. Our proposed method involves extracting node vectors from the program's Abstract Syntax Tree (AST) and identifying semantic features using a Deep Brief Network (DBN). These semantic features are then used to predict the accuracy of the repair candidates. In experiments conducted on ten subject files in the IntroClass database, our proposed DLBGP model reduced execution time by 64% compared to GenProg while achieving the same number of successful test cases. In summary, we offer a fast, efficient, and easily deployable deep learning program repair method that could prove beneficial to the field of APR.
What problem does this paper attempt to address?