Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N10 2019 year

DOI: 10.17587/prin.10.419-429
Automated Program Repair: Comparative Analysis of Approaches
V. A. Galatenko, galat@niisi.ras.ru, K. A. Kostyukhin, kost@niisi.ras.ru, Federal State Institution Scientific Research Institute for System Analysis of the Russian Academy of Sciences, Moscow, 117218, Russian Federation
Corresponding author: Kostyukhin Konstantin A., Senior Researcher, Federal State Institution "Scientific Research Institute for System Analysis of the Russian Academy of Sciences", Moscow, 117218, Russian Federation, E-mail: Kost@niisi.ras.ru
Received on July 09, 2019
Accepted on August 06, 2019

The article is the second part of the work devoted to the automated program repair. It provides a comparative analysis of ideas and approaches to the automated program repair. The authors tried to reflect the main existing approaches in the article, to consider the advantages and disadvantages of each of them. The article describes a wide range of ideas and approaches to the automated program repair. Universal systems of behavior repair have no theoretical basis, and practical results of their application are unsatisfactory. Specialized systems focused, for example, on the correction of dynamic memory management defects are more promising. Such systems are a good form of accumulation and usage of programming knowledge. It is possible that future systems of behavior repair will be built by integrating a large number of specialized systems. The state repair systems have a proven base — researches in the field of fault tolerance. In our opinion, the adaptation and development of these researches in relation to the repair of programs is the most natural and promising approach.

Keywords: debugging, automated program repair, program recovery, program re-execution, program self-treatment, data recovery
pp. 419–429
For citation:
Galatenko V. A., Kostyukhin K. A. Automated Program Repair: Comparative Analysis of Approaches, Programmnaya Ingeneria, 2019, vol. 10, no. 11—12, pp. 419—429.