Semantic program repair

Bug fixing is a difficult and tedious process. Automated program repair aims to solve this problem by automatically suggesting patches for buggy code. The main idea behind semantic program repair is to use semantic analysis to understand the meaning of software defects. This helps to make bug fixing more scalable, since it enables efficient reasoning on the search space of patches. Besides, this helps to alleviate the low quality of automatic fixes by compensating the lack of specification in real-world projects. The goal of this project is to develop a practical and intelligent general-purpose semantic program repair system.

[Project page]