I develop program synthesis algorithms that ground human instructions as codes1, in a way a programmer would. A programmer does much more than generating Python from comments. Given an instruction (stated in language, test cases, or drawings), a human programmer can infer latent goals, generate code appropriate for the current situation, and interact to repair misunderstandings and overcome implementation difficulties.
My work studies natural programs — instructions given to a person to carry out a task on a computer (e.g. modifying a 3D scene or coding). I curate datasets of natural programs, and build program synthesis systems inspired by cognitive science that grounds them as executable code, in a way a human would. I work on neuro-symbolic methods, computational pragmatics, and grounded semantics of natural language.
my works
I build datasets, algorithms, and interactive systems.
For full list see my google scholar, I use “Yewen Pu” as name in my publications.
collaboration
I believe quality research is a consequence of a good “party” – in a sense of a good team 👥, and a good time 🎉. I collaborate broadly as code generation is applicable to various disciplines. Here is my mentoring statement.
news
-
2024-04-04: Gave a presentation to my old highschool on what it is like being a scientist. Take a look: https://youtu.be/DhxGRhUkb8c
-
2024-01-16: Two papers accepted to ICLR. Hypothesis Search deals with programming by examples (PBE) in a challenging (ARC) domain, where LLM performing the inductive step from examples to programs. Generating Pragmatic Examples to Train Neural Program Synthesizers is a general method that allows any PBE system to take account of user’s informativity in generating examples, scalable to combinatorically complex space of programs.
-
Code in a general sense, as any interactions (programming, manipulating UI, acting in a simulation) with the computer. ↩