Dear Colleages in Program Repair,
Wish you happiness and health in the new 2022 year!
I would like to share with you some of our latest papers on program repair published in 2021.
As multiple empirical studies demonstrated, a program repair approach is useful only when the precision is high enough, i.e., generated patches have a high probability to be correct. However, achieving a high precision is difficult and often we need to sacrifice other aspects of our approach, such as recall. In this paper we show that, if we provide proper tool support for the developers to review the patches, a program repair approach with a low precision could still be useful. In our experiments, our tool support managed to help developers repair 62.5% more bugs and reduce the repair time by 25.3% on four tasks with 8~47 incorrect patches per bug. This allows the development of new repair approaches with looser requirement on precision.
This paper receives the IEEE TCSE Distinguished Paper Award.
Many of you may have heard me talking about L2S in various places. This is a general framework for synthesizing a program that meets a specification and have the maximum probability in a distribution, and is suitable for tasks such as program repair that have the overfitting issue. It started as a generalization of ACS, and took several years for us to finish the theory, including a new type of grammar.
This is the first neural program repair approach that outperforms traditional heuristic-based program repair approaches. This paper combines multiple our existing efforts, including the above L2S framework, the TreeGen neural architecture (AAAI20), a delta-based representation of the patch space (MODELS11).
This paper was nominated for the ACM SIGSOFT Distinguished Paper
Award.
Best Regards,
Yingfei Xiong