Energy Consumption of Automated Program Repair (2211.12104v2)
Abstract: Automated program repair (APR) aims to automatize the process of repairing software bugs in order to reduce the cost of maintaining software programs. Moreover, the success (given by the accuracy metric) of APR approaches has increased in recent years. However, no previous work has considered the energy impact of repairing bugs automatically using APR. The field of green software research aims to measure the energy consumption required to develop, maintain, and use software products. This paper combines, for the first time, the APR and Green software research fields. We have as main goal to define the foundation for measuring the energy consumption of the APR activity. We measure the energy consumption of ten traditional program repair tools for Java and ten fine-tuned Large-LLMs (LLM) on source code trying to repair real bugs from Defects4J, a set of real buggy programs. The initial results from this experiment show the existing trade-off between energy consumption and the ability to correctly repair bugs: Some APR tools are capable of achieving higher accuracy by spending less energy than other tools.
- Oops, My Tests Broke the Build: An Explorative Analysis of Travis CI with GitHub. In MSR. 356–367. https://doi.org/10.1109/MSR.2017.62
- Coral Calero and Mario Piattini. 2015. Green in software engineering. Vol. 3. Springer.
- Paul Grünbacher and Yves Ledru. 2004. ERCIM News – Special Theme: Automated Software Engineering. ERCIM EEIG, B.P. 93, F-06902 Sophia-Antipolis Cedex, France.
- Shaping Program Repair Space with Existing Patches and Similar Code. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (Amsterdam, Netherlands) (ISSTA 2018). Association for Computing Machinery, New York, NY, USA, 298–309. https://doi.org/10.1145/3213846.3213871
- Impact of Code Language Models on Automated Program Repair. In 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). IEEE Computer Society, Los Alamitos, CA, USA, 1430–1442. https://doi.org/10.1109/ICSE48619.2023.00125
- Defects4J: A Database of Existing Faults to Enable Controlled Testing Studies for Java Programs. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (San Jose, CA, USA) (ISSTA 2014). Association for Computing Machinery, New York, NY, USA, 437–440. https://doi.org/10.1145/2610384.2628055
- TBar: Revisiting Template-Based Automated Program Repair. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). ACM, 31––42. https://doi.org/10.1145/3293882.3330577
- On the efficiency of test suite based program repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs. In ICSE ’20. ACM, New York, NY, USA, 615–627. https://doi.org/10.1145/3377811.3380338
- Repairnator patches programs automatically. Ubiquity July, 2 (July 2019), 1–12. https://doi.org/10.1145/3349589
- Green ai. Commun. ACM 63, 12 (2020), 54–63.
- Neural Program Repair with Execution-Based Backpropagation. In Proceedings of the 44th International Conference on Software Engineering (Pittsburgh, Pennsylvania) (ICSE ’22). Association for Computing Machinery, New York, NY, USA, 1506–1518. https://doi.org/10.1145/3510003.3510222
- Matias Martinez (51 papers)
- Silverio Martínez-Fernández (32 papers)
- Xavier Franch (48 papers)