Evan Pu

I make programming communicative

Evan Pu | I make programming communicative

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.

representative works

For full list see my google scholar, I use “Yewen Pu” as name in my publications.

programming by informative examples (PBiE)

Program Synthesis with Pragmatic Communication (NeurIPS 2020).

Generating Pragmatic Examples to Train Neural Program Synthesizers (ICLR 2024).

grounding natural language as search problems

Communicating Natural Programs to Humans and Machines (NeurIPS 2022).

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

  1. Code in a general sense, as any interactions (programming, manipulating UI, acting in a simulation) with the computer.