
Hello, I am Ruyi Ji (吉如一). Welcome to my home page.
I'm now a second-year Ph.D. student in the Programming Language Lab (PLL) at Peking University, advised by Prof. Zhenjiang Hu and Prof. Yingfei Xiong. I am interested in program synthesis. Click here for more about my research.
I completed my undergraduate at Peking University, where I worked with Prof. Yingfei Xiong on interactive program synthesis.
I used to be a contestant in competitive programming. I won the 3rd place, Gold medal in ACM/ICPC World Finals 2018. Now I'm still engaging in relevant activities. I'm the founder and the first president of PKU Student Algorithm Association. Click here for more about our activities.
News
- August 31, 2021 Our paper Generalizable Synthesis Through Unification has been accepted at OOPSLA'21. In this paper, we study the generalizability of program synthesizers and design a solver with theoretically guaranteed generalizability based on the framework of synthesis through unification and the theory of Occam learning.
- July 11, 2021 PKU Student Algorithm Association successfully organized the 2021 MeiTuan-Cup Programming Contest. 271 teams participated in this contest, and 31 of them won awards.
- June 15, 2021 Our paper Interactive Patch Filtering as Debugging Aid has been accepted at ICSME'21. In this paper, we show that, program repair tools with a low precision can become useful with a paper interaction tool. This paper is a follow-up to our PLDI'20 paper.
- December 6, 2020 PKU Student Algorithm Association successfully organized the 2020 SenseTime-Cup Programming Contest. This contest is jointly organized by us and BUPT ZhouXing Algorithm Association, and is supported by SenseTime.
- November 22, 2020 I'm invited to set problems for the 2020 ICPC China Beijing Xiaomi Invitational Programming Contest. 3037 teams participated in its online contest, and 103 among them advanced to the onsite.
- October 1, 2020 I'm excited that our paper Guiding Dynamic Programming via Structural Probability for Accelerating Programming by Example has been accepted at OOPSLA'20. This paper combines structural probability and dynamic programming to faster solve programming-by-example tasks. Our approach, MaxFlash, achieved 4x-2080x speed-ups against SOTA synthesizers.