An Enhanced Patch Optimization Technique for MultiChunk Bugs in Automated Program Repair
1
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
Automated program repair techniques leveraging deep learning have shown remarkable performances in bugrepair. These techniques commonly employ pretrained neural machine translation (NMT) models to generatepatches for a buggy part of the source code. However, when dealing with multiple buggy code chunks in variouslocations, current methods face challenges in effectively selecting and combining these patches for optimalrepair. This paper identifies limitations within one of the existing methods used for optimizing patches relatedto multiple buggy code chunks and proposes an enhanced patch optimization technique to address theseshortcomings. The primary aim of this study is to improve the process of selecting and combining patchesgenerated for groups of buggy chunks. Through experiments conducted on a dataset, this paper demonstratesthe efficacy of the proposed patch optimization technique, showcasing its potential to enhance the overall bugrepair process. This study highlights the importance of patch optimization in bug repair by addressinglimitations and enhancing the repair process.
Abstract
Automated program repair techniques leveraging deep learning have shown remarkable performances in bugrepair. These techniques commonly employ pretrained neural machine translation (NMT) models to generatepatches for a buggy part of the source code. However, when dealing with multiple buggy code chunks in variouslocations, current methods face challenges in effectively selecting and combining these patches for optimalrepair. This paper identifies limitations within one of the existing methods used for optimizing patches relatedto multiple buggy code chunks and proposes an enhanced patch optimization technique to address theseshortcomings. The primary aim of this study is to improve the process of selecting and combining patchesgenerated for groups of buggy chunks. Through experiments conducted on a dataset, this paper demonstratesthe efficacy of the proposed patch optimization technique, showcasing its potential to enhance the overall bugrepair process. This study highlights the importance of patch optimization in bug repair by addressinglimitations and enhancing the repair process.
참고문헌 (17)
- S. Saha, "Harnessing evolution for multi-hunk program repair", Proceedings of 2019 IEEE, 2019, 13~24
- "A syntax-guided edit decoder for neural program repair" (2022)[URL]
- N. Jiang, "CURE : code-aware neural machine translation for automatic program repair", Proceedings of the 43rd IEEE, 2021, 1161~1173
- Q. Zhang, "Gamma : revisiting template-based automated program repair via mask prediction", Proceedings of 2023 38th IEEE, 2023, 535~547
- W. Wang, "Rap-Gen : retrieval-augmented patch generation with CodeT5 for automatic program repair", Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp.146~158 (2023)
- H. Ye, "SelfAPR : self-supervised program repair with test execution diagnostics", Proceedings of the 37th IEEE, 2022, 1~13
- J. Kim, "MCRepair : multi-chunk program repair via patch optimization with buggy block", Proceedings of the 38th Annual ACM, 2023, 1508~1515
- Z. Feng, "CodeBERT : a pre-trained model for programming and natural languages", Proceedings of Findings of the Association for Computational Linguistics EMNLP, pp.1536~1547 (2020)
- R. Just, "Defects4J : a database of existing faults to enable controlled testing studies for Java programs", Proceedings of the 2014 International Symposium on Software Testing and Analysis, pp.437~440 (2014)
- S. Wang, "Automated patch correctness assessment : how far are we?", Proceedings of the 35th IEEE, 2020, 968~980
- D. Yang, "Is the ground truth really accurate? Dataset purification for automated program repair", Proceedings of 2021 IEEE International Conference on Software Analysis, pp.96~107 (2021)
- M. Tufano, "An empirical investigation into learning bug-fixing patches in the wild via neural machine translation", Proceedings of the 33rd ACM, 2018, 832~837
- "Javaparser" (2017)[URL]
- R. Pawlak, "SPOON : a library for implementing analyses and transformations of java source code", Software : Practice and Experience, 46(9), pp.1155~1179 (2016)[DOI]
- J. R. Falleri, "Fine-grained and accurate source code differencing", Proceedings of the 29th ACM, 2014, 313~324
- T. Wolf, "Transformers : state-of-the-art natural language processing", Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp.38~45 (2020)
- A. Paszke, "PyTorch : an imperative style, high-performance deep learning library", Advances in neural Information Processing Systems, 32, pp.8024~8035 (2019)
