Yi Li bio photo

Yi Li

Associate Professor

College of Computing and Data Science (CCDS)
Nanyang Technological University (NTU)

Address: Block N4-02b-63
50 Nanyang Avenue, Singapore 639798
Phone: +65 6790 4287

Email Twitter LinkedIn GitHub Bitbucket Google Scholar ORCID

A paper [1] describing our collaboration with Alibaba on a large-scale patch recommendation approach was accepted to the Software Engineering in Practice (SEIP) track at ICSE’20. The technology has been successfully deployed across the company to support day-to-day development. A quick summary of the paper is given below.

Patch recommendation is the process of identifying errors in software systems and suggesting suitable fixes for them. Patch recommendation can significantly improve developer productivity by reducing both the debugging and repairing time. Existing techniques usually rely on complete test suites and detailed debugging reports, which are often absent in practical industrial settings. In this paper, we propose PRECFIX, a pragmatic approach targeting large-scale industrial codebase and making recommendations based on previously observed debugging activities. PRECFIX collects defect-patch pairs from development histories, performs clustering, and extracts generic reusable patching patterns as recommendations. We conducted experimental study on an industrial codebase with 10K projects involving diverse defect patterns. We managed to extract 3K templates of defect-patch pairs, which have been successfully applied to the entire codebase. Our approach is able to make recommendations within milliseconds and achieves a false positive rate of 22% confirmed by manual review. The majority (10/12) of the interviewed developers appreciated PRECFIX, which has been rolled out to Alibaba to support various critical businesses.

There is also a shorter version [2] of it accepted to the poster track.

References

  1. Zhang, X., Zhu, C., Li, Y., Guo, J., Liu, L., & Gu, H. (2020). PRECFIX: Large-Scale Patch Recommendation by Mining Defect-Patch Pairs. Proceedings of the 42nd International Conference on Software Engineering (ICSE), 41–50.
  2. Zhang, X., Zhu, C., Li, Y., Guo, J., Liu, L., & Gu, H. (2020). Large-Scale Patch Recommendation at Alibaba. Proceedings of the 42nd International Conference on Software Engineering (ICSE), 252–253.