English
Related papers

Related papers: Learning Syntactic Program Transformations from Ex…

200 papers

Recent advancements in large language models (LLMs) have shown very impressive capabilities in code generation across many programming languages. However, even state-of-the-art LLMs generate programs that contains syntactic errors and fail…

Software Engineering · Computer Science 2025-11-25 David Jiahao Fu , Aryan Gupta , Aaron Councilman , David Grove , Yu-Xiong Wang , Vikram Adve

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

Programming-by-example is the task of synthesizing a program that is consistent with a set of user-provided input-output examples. As examples are often an under-specification of one's intent, a good synthesizer must choose the intended…

Machine Learning · Computer Science 2025-04-18 Saujas Vaduguru , Daniel Fried , Yewen Pu

Our goal is to build systems which write code automatically from the kinds of specifications humans can most easily provide, such as examples and natural language instruction. The key idea of this work is that a flexible combination of…

Artificial Intelligence · Computer Science 2019-06-06 Maxwell Nye , Luke Hewitt , Joshua Tenenbaum , Armando Solar-Lezama

Summarizing lengthy documents is a common and essential task in our daily lives. Although recent advancements in neural summarization models can assist in crafting general-purpose summaries, human writers often have specific requirements…

Computation and Language · Computer Science 2023-06-06 Yujia Xie , Xun Wang , Si-Qing Chen , Wayne Xiong , Pengcheng He

Many program synthesis tasks prove too challenging for even state-of-the-art language models to solve in single attempts. Search-based evolutionary methods offer a promising alternative by exploring solution spaces iteratively, but their…

Machine Learning · Computer Science 2026-03-17 Julien Pourcel , Cédric Colas , Pierre-Yves Oudeyer

With the growth of the open-source data science community, both the number of data science libraries and the number of versions for the same library are increasing rapidly. To match the evolving APIs from those libraries, open-source…

Software Engineering · Computer Science 2021-02-16 Ansong Ni , Daniel Ramos , Aidan Yang , Inês Lynce , Vasco Manquinho , Ruben Martins , Claire Le Goues

Language transformations are algorithms that take a language specification in input, and return the language specification modified. Language transformations are useful for automatically adding features such as subtyping to programming…

Programming Languages · Computer Science 2021-08-25 Matteo Cimini , Benjamin Mourad

The improvement of LLMs' instruction-following capabilities depends critically on the availability of high-quality instruction-response pairs. While existing automatic data synthetic methods alleviate the burden of manual curation, they…

Computation and Language · Computer Science 2025-05-22 Yuxin Jiang , Yufei Wang , Chuhan Wu , Xinyi Dai , Yan Xu , Weinan Gan , Yasheng Wang , Xin Jiang , Lifeng Shang , Ruiming Tang , Wei Wang

We target the problem of automatically synthesizing proofs of semantic equivalence between two programs made of sequences of statements. We represent programs using abstract syntax trees (AST), where a given set of semantics-preserving…

Machine Learning · Computer Science 2023-07-11 Steve Kommrusch , Martin Monperrus , Louis-Noël Pouchet

The ability to think abstractly and reason by analogy is a prerequisite to rapidly adapt to new conditions, tackle newly encountered problems by decomposing them, and synthesize knowledge to solve problems comprehensively. We present…

Artificial Intelligence · Computer Science 2024-10-08 Jakub Bednarek , Krzysztof Krawiec

Software refactoring is the process of changing the structure of software without any alteration in its behavior and functionality. Presuming it is carried out in appropriate opportunities, refactoring enhances software quality…

Software Engineering · Computer Science 2023-01-20 Hanieh Khosravi , Abbas Rasoolzadegan

Students often make mistakes on their introductory programming assignments as part of their learning process. Unfortunately, providing custom repairs for these mistakes can require a substantial amount of time and effort from class…

Software Engineering · Computer Science 2022-09-30 Jialu Zhang , José Cambronero , Sumit Gulwani , Vu Le , Ruzica Piskac , Gustavo Soares , Gust Verbruggen

Code editing plays a vital role in software engineering, requiring developers to adjust existing code according to natural language instructions while keeping functionality intact and avoiding unnecessary modifications. However,…

Software Engineering · Computer Science 2025-10-08 Zekai Zhang , Mingwei Liu , Zhenxi Chen , Linxi Liang , Yuxuan Chen , Guangsheng Ou , Yanlin Wang , Dan Li , Xin Peng , Zibin Zheng

In many scenarios we need to find the most likely program under a local context, where the local context can be an incomplete program, a partial specification, natural language description, etc. We call such problem program estimation. In…

Software Engineering · Computer Science 2018-02-22 Yingfei Xiong , Bo Wang , Guirong Fu , Linfei Zang

Automating string transformations has been one of the killer applications of program synthesis. Existing synthesizers that solve this problem produce programs in domain-specific languages (DSL) that are engineered to help the synthesizer,…

Formal Languages and Automata Theory · Computer Science 2022-08-30 Anvay Grover , Ruediger Ehlers , Loris D'Antoni

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Studies show that small-scale…

Software Engineering · Computer Science 2022-02-16 James Ivers , Robert L. Nord , Ipek Ozkaya , Chris Seifried , Christopher S. Timperley , Marouane Kessentini

Visual program synthesis is a promising approach to exploit the reasoning abilities of large language models for compositional computer vision tasks. Previous work has used few-shot prompting with frozen LLMs to synthesize visual programs.…

Computer Vision and Pattern Recognition · Computer Science 2024-04-09 Zaid Khan , Vijay Kumar BG , Samuel Schulter , Yun Fu , Manmohan Chandraker

Program synthesis is the task of automatically generating a program consistent with a given specification. A natural way to specify programs is to provide examples of desired input-output behavior, and many current program synthesis…

Machine Learning · Computer Science 2020-07-28 Alexander Suh , Yuval Timen

Modern computing students often rely on both natural-language prompting and manual code editing to solve programming tasks. Yet we still lack a clear understanding of how these two modes are combined in practice, and how their usage varies…