ABSTRACT
Automated program repair (APR) tools have promising results, but what are APR's limits? The answer could help researchers design tool trade-offs and manage user expectations. Since APR is undecidable, as are two of its typical phases, tools must use conservative approximations. Such approximations can help APR tools be better understood and can lead to a theory of sound APR.
- Rastislav Bodík and Barbara Jobstmann. 2013. Algorithmic program synthesis: introduction. International journal on software tools for technology transfer 15, 5 (2013), 397--411.Google ScholarDigital Library
- Richard A DeMillo, Richard J Lipton, and Frederick G Sayward. 1978. Hints on test data selection: Help for the practicing programmer. Computer 11, 4 (1978), 34--41.Google ScholarDigital Library
- Thomas Durieux, Fernanda Madeiral, Matias Martinez, and Rui Abreu. 2019. Empirical review of Java program repair tools: A large-scale experiment on 2,141 bugs and 23,551 repair attempts. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 302--313.Google ScholarDigital Library
- Luca Gazzola, Daniela Micucci, and Leonardo Mariani. 2017. Automatic software repair: A survey. IEEE Transactions on Software Engineering 45, 1 (2017), 34--67.Google ScholarDigital Library
- Kui Liu, Li Li, Anil Koyuncu, Dongsun Kim, Zhe Liu, Jacques Klein, and Tegawendé F Bissyandé. 2021. A critical review on the evaluation of automated program repair systems. Journal of Systems and Software 171 (2021), 110817.Google ScholarCross Ref
- Umang Mathur, P Madhusudan, and Mahesh Viswanathan. 2019. Decidable verification of uninterpreted programs. Proceedings of the ACM on Programming Languages 3, POPL (2019), 1--29.Google ScholarDigital Library
- Manish Motwani, Sandhya Sankaranarayanan, René Just, and Yuriy Brun. 2018. Do automated program repair techniques repair hard and important bugs? Empirical Software Engineering 23, 5 (2018), 2901--2947.Google ScholarDigital Library
- Amirfarhad Nilizadeh. 2022. Automated program repair and test overfitting: measurements and approaches using formal methods. In 2022 15th IEEE Conference on Software Testing, Verification and Validation (ICST) (In Press). IEEE.Google ScholarCross Ref
- Amirfarhad Nilizadeh, Marlon Calvo, Gary T. Leavens, and Xuan-Bach D. Le. 2021. More reliable test suites for dynamic APR by using counterexamples. In 2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE). IEEE, 208--219.Google Scholar
- Amirfarhad Nilizadeh, Gary T Leavens, Xuan-Bach D Le, Corina S Păsăreanu, and David R Cok. 2021. Exploring true test overfitting in dynamic automated program repair using formal methods. In 2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST). IEEE, 229--240.Google ScholarCross Ref
Recommendations
Exploring Experiences with Automated Program Repair in Practice
ICSE '24: Proceedings of the IEEE/ACM 46th International Conference on Software EngineeringAutomated program repair, also known as APR, is an approach for automatically repairing software faults. There is a large amount of research on automated program repair, but very little offers in-depth insights into how practitioners think about and ...
Codeflaws: a programming competition benchmark for evaluating automated program repair tools
ICSE-C '17: Proceedings of the 39th International Conference on Software Engineering CompanionSeveral automated program repair techniques have been proposed to reduce the time and effort spent in bug-fixing. While these repair tools are designed to be generic such that they could address many software faults, different repair tools may fix ...
Fault localization for automated program repair: effectiveness, performance, repair correctness
Automated program repair (APR) tools apply fault localization (FL) techniques to identify the locations of likely faults to be repaired. The effectiveness, performance, and repair correctness of APR depends in part on the FL method used. If FL does not ...
Comments