Automatic bug-fixing is the automatic repair of software bugs without the intervention of a human programmer.[1][2][3] It is also commonly referred to as automatic patch generation, automatic bug repair, or automatic program repair.[3] The typical goal of such techniques is to automatically generate correct patches to eliminate bugs in software programs without causing software regression.[4]