← Search

Kensen Shi

9 accepted papers

2024

ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis

ICLR 2024oral

When writing programs, people have the ability to tackle a new complex task by decomposing it into smaller and more familiar subtasks. While it is difficult to measure whether neural program synthesis methods have similar capabilities, we can measure whether they compositionally generalize, that is,…

Cited by 19SourcePDFScholar
2024

NExT: Teaching Large Language Models to Reason about Code Execution

ICML 2024poster

A fundamental skill among human developers is the ability to understand and reason about program execution. As an example, a programmer can mentally simulate code execution in natural language to debug and repair code (aka. rubber duck debugging). However, large language models (LLMs) of code are ty…

Cited by 35SourcePDFScholar
2023

Can Large Language Models Reason about Program Invariants?

ICML 2023poster

Identifying invariants is an important program analysis task with applications towards program understanding, bug finding, vulnerability analysis, and formal verification. Existing tools for identifying program invariants rely on dynamic analysis, requiring traces collected from multiple executions…

Cited by 87SourcePDFScholar
2023

LambdaBeam: Neural Program Search with Higher-Order Functions and Lambdas

NeurIPS 2023poster

Search is an important technique in program synthesis that allows for adaptive strategies such as focusing on particular search directions based on execution results. Several prior works have demonstrated that neural models are effective at guiding program synthesis searches. However, a common drawb…

Cited by 11SourcePDFScholar
2023

Natural Language to Code Generation in Interactive Data Science Notebooks

ACL 2023long

Computational notebooks, such as Jupyter notebooks, are interactive computing environments that are ubiquitous among data scientists to perform data wrangling and analytic tasks. To measure the performance of AI pair programmers that automatically synthesize programs for those tasks given natural la…

2022

CrossBeam: Learning to Search in Bottom-Up Program Synthesis

ICLR 2022poster

Many approaches to program synthesis perform a search within an enormous space of programs to find one that satisfies a given specification. Prior works have used neural models to guide combinatorial search algorithms, but such approaches still explore a huge portion of the search space and quickly…

2021

BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration

ICLR 2021spotlight

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate results to compose them in appropriate ways. Motivated by t…

Cited by 68SourcePDFScholar
2020

Learning and Evaluating Contextual Embedding of Source Code

ICML 2020poster

Recent research has achieved impressive results on understanding and improving source code by building up on machine-learning techniques developed for natural languages. A significant advancement in natural-language understanding has come with the development of pre-trained contextual embeddings, su…