Abstract:Automatic program repair technology can effectively reduce the cost of software maintenance, which is a hot topic of academic research in recent years. Specifications description of to be fixed program plays a vital role in the automatic program repair process, this article analyses the problems and technologies of automatic program repair from specifications point of view. According to whether the specifications to be repaired program is complete, the existing repair problems are divided into three kinds of problems to be repaired, such as incomplete specifications, complete specifications, and semi-complete specifications problems to be repaired. It is analyzed that the core problems, the relationship between problems and the logical relationship of technology under different assumptions based on three kinds of abstract problems. Also analyzed issues are high-precision patch generation, specifications completion and patch selection in incomplete specifications repair, and the specific problems and progress in memory leak, resource leak, concurrency errors include data competition, atomic violation, sequence violation and deadlock, configuration error and specific performance error in complete specifications repair. The various specific repair problems and research progress of the semi-complete specifications repair problem are collated. Finally, the opportunities and challenges faced by automatic program repair are analyzed.