Automatic program repair: A systematic literature review

Main Article Content

A. T. M. Fazlay Rabbi
Mahbubul Alam Joarder

Abstract

Automatic Program Repair works by generating patches automatically to fix software bugs. This domain is very popular among the software engineering researchers as it helps the developers to mitigate tiresome debugging effort and increase productivity. This domain mostly focuses on how to develop better program repair techniques. However, a systematic literature review is needed to help the researchers for getting specific and scientific overview of this domain. This paper conducts a systematic literature review on 324 papers for analyzing the trendiness and associated factors of this domain. After that, this paper considers 16 papers to thoroughly review and states the evolution of automatic program repair. Hopefully, this study will be a valuable resource for the researchers of this domain.

Metrics

Metrics Loading ...

Article Details

How to Cite
Rabbi, A. T. M. F., & Mahbubul Alam Joarder. (2023). Automatic program repair: A systematic literature review. Systematic Literature Review and Meta-Analysis Journal, 4(3), 1–10. https://doi.org/10.54480/slr-m.v4i3.53
Section
Articles

References

Asad, M., Ganguly, K. K., & Sakib, K. (2019). Impact Analysis of Syntactic and Semantic Similarities on Patch Prioritization in Automated Program Repair. Proceedings - 2019 IEEE International Conference on Software Maintenance and Evolution, ICSME 2019, September, 328–332. https://doi.org/10.1109/ICSME.2019.00050 DOI: https://doi.org/10.1109/ICSME.2019.00050

Chen, Z., Kommrusch, S. J., Tufano, M., Pouchet, L.-N., Poshyvanyk, D., & Monperrus, M. (2021). SEQUENCER: Sequence-to-Sequence Learning for End-to-End Program Repair. IEEE Transactions on Software Engineering, 47(9), 1–1. https://doi.org/10.1109/TSE.2019.2940179 DOI: https://doi.org/10.1109/TSE.2019.2940179

Jiang, N., Lutellier, T., & Tan, L. (2021). CURE: Code-aware neural machine translation for automatic program repair. Proceedings - International Conference on Software Engineering, x, 1161–1173. https://doi.org/10.1109/ICSE43902.2021.00107 DOI: https://doi.org/10.1109/ICSE43902.2021.00107

Kim, D., Nam, J., Song, J., & Kim, S. (2013). Automatic patch generation learned from human-written patches. 2013 35th International Conference on Software Engineering (ICSE), (2013), 802-811 DOI: https://doi.org/10.1109/ICSE.2013.6606626

Kitchenham, B. A., & Charters, S. (2007). Guidelines for performing Systematic Literature Reviews in Software Engineering. EBSE Technical Report EBSE-2007-01. School of Computer Science and Mathematics, Keele University. January, 1–57.

Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., & Linkman, S. (2009). Systematic literature reviews in software engineering - A systematic literature review. Information and Software Technology, 51(1), 7–15. https://doi.org/10.1016/j.infsof.2008.09.009 DOI: https://doi.org/10.1016/j.infsof.2008.09.009

Koyuncu, A., Liu, K., Bissyandé, T. F., Kim, D., Klein, J., Monperrus, M., & Le Traon, Y. (2020). FixMiner: Mining relevant fix patterns for automated program repair. Empirical Software Engineering, 25(3), 1980–2024. https://doi.org/10.1007/s10664-019-09780-z DOI: https://doi.org/10.1007/s10664-019-09780-z

Le Goues, C., Nguyen, T., Forrest, S., & Weimer, W. (2011). Genprog: A generic method for automatic software repair. IEEE Transactions on Software Engineering, 38(1), 54–72. DOI: https://doi.org/10.1109/TSE.2011.104

Li, Y., Wang, S., & Nguyen, T. N. (2020). Dlfix: Context-based code transformation learning for automated program repair. Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (2020), 602-614. https://doi.org/10.1145/3377811.3380345 DOI: https://doi.org/10.1145/3377811.3380345

Liu, K., Koyuncu, A., Kim, D., & Bissyandé, T. F. (2019a). TBAR: Revisiting template-based automated program repair. ISSTA 2019 - Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, 43–54. https://doi.org/10.1145/3293882.3330577

Liu, K., Koyuncu, A., Kim, D., & Bissyandé, T. F. (2019b). TBar: Revisiting template-based automated program repair. Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, 31–42. DOI: https://doi.org/10.1145/3293882.3330577

Lutellier, T., Pang, L., Pham, V. H., Wei, M., & Tan, L. (2019). ENCORE: ensemble learning using convolution neural machine translation for automatic program repair. arXiv preprint arXiv:1906.08691, (2019)

Lutellier, T., Pham, H. V., Pang, L., Li, Y., Wei, M., & Tan, L. (2020). CoCoNuT: Combining context-aware neural translation models using ensemble for program repair. ISSTA 2020 - Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, 101–114. https://doi.org/10.1145/3395363.3397369 DOI: https://doi.org/10.1145/3395363.3397369

Monperrus, M. (2018). Automatic software repair: A bibliography. ACM Computing Surveys, 51(1), 1–26. https://doi.org/10.1145/3105906 DOI: https://doi.org/10.1145/3105906

Saha, R. K., Lyu, Y., Yoshida, H., & Prasad, M. R. (2017, October). Elixir: Effective object-oriented program repair. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), (pp. 648-659). IEEE. DOI: 10.1109/ASE.2017.8115675 DOI: https://doi.org/10.1109/ASE.2017.8115675

Svensson, N., & Vrabac, D. (2019). Sequence to Sequence Machine Learning for Automatic Program Repair. diva-portal.org.

Vasic, M., Kanade, A., Maniatis, P., Bieber, D., & Singh, R (2019). Neural program repair by jointly learning to localize and repair. arXiv preprint arXiv:1904.01720, (2019). https://doi.org/10.48550/arXiv.1904.01720

Wang, S., Wen, M., Lin, B., Wu, H., Qin, Y., Zou, D., Mao, X., & Jin, H. (2020). Automated Patch Correctness Assessment: How Far are We? Proceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020, 968–980. https://doi.org/10.1145/3324884.3416590 DOI: https://doi.org/10.1145/3324884.3416590

Wen, M., Chen, J., Wu, R., Hao, D., & Cheung, S. C. (2018, May). Context-aware patch generation for better automated program repair. In Proceedings of the 40th international conference on software engineering (pp. 1-11). DOI: https://doi.org/10.1145/3180155.3180233

Ye, H., Gu, J., Martinez, M., Durieux, T., & Monperrus, M. (2021). Automated Classification of Overfitting Patches with Statically Extracted Code Features. IEEE Transactions on Software Engineering, 5589(c), 1–20. https://doi.org/10.1109/TSE.2021.3071750 DOI: https://doi.org/10.1109/TSE.2021.3071750