English
Related papers

Related papers: Learning Syntactic Program Transformations from Ex…

200 papers

We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on…

Machine Learning · Statistics 2020-06-22 Matej Balog , Rishabh Singh , Petros Maniatis , Charles Sutton

We propose a new approach to automated theorem proving where an AlphaZero-style agent is self-training to refine a generic high-level expert strategy expressed as a nondeterministic program. An analogous teacher agent is self-training to…

Artificial Intelligence · Computer Science 2023-09-12 Jonathan Laurent , André Platzer

We introduce a model that learns to convert simple hand drawings into graphics programs written in a subset of \LaTeX. The model combines techniques from deep learning and program synthesis. We learn a convolutional neural network that…

Artificial Intelligence · Computer Science 2018-10-30 Kevin Ellis , Daniel Ritchie , Armando Solar-Lezama , Joshua B. Tenenbaum

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the…

Software Engineering · Computer Science 2021-10-26 Anthony Peruma , Steven Simmons , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integral components of modern Integrated Development Environments…

Software Engineering · Computer Science 2024-09-24 Haibo Wang , Zhuolin Xu , Huaien Zhang , Nikolaos Tsantalis , Shin Hwei Tan

To enhance documentation and maintenance practices, developers conventionally establish links between related software artifacts manually. Empirical research has revealed that developers frequently overlook this practice, resulting in…

Software Engineering · Computer Science 2023-04-25 Maliheh Izadi , Pooya Rostami Mazrae , Tom Mens , Arie van Deursen

In the domain of code generation, self-debugging is crucial. It allows LLMs to refine their generated code based on execution feedback. This is particularly important because generating correct solutions in one attempt proves challenging…

Computation and Language · Computer Science 2025-02-17 Nan Jiang , Xiaopeng Li , Shiqi Wang , Qiang Zhou , Soneya Binta Hossain , Baishakhi Ray , Varun Kumar , Xiaofei Ma , Anoop Deoras

The goal of program synthesis is to automatically generate programs in a particular language from corresponding specifications, e.g. input-output behavior. Many current approaches achieve impressive results after training on randomly…

Machine Learning · Computer Science 2020-01-01 Richard Shin , Neel Kant , Kavi Gupta , Christopher Bender , Brandon Trabucco , Rishabh Singh , Dawn Song

Novice programmers often struggle to comprehend code due to vague naming, deep nesting, and poor structural organization. While explanations may offer partial support, they typically do not restructure the code itself. We propose code…

Software Engineering · Computer Science 2026-04-20 Subarna Saha , Alif Al Hasan , Fariha Tanjim Shifat , Mia Mohammad Imran

Recent years have seen the proposal of a number of neural architectures for the problem of Program Induction. Given a set of input-output examples, these architectures are able to learn mappings that generalize to new test inputs. While…

Artificial Intelligence · Computer Science 2016-11-08 Emilio Parisotto , Abdel-rahman Mohamed , Rishabh Singh , Lihong Li , Dengyong Zhou , Pushmeet Kohli

In recent years, deep learning techniques have been developed to improve the performance of program synthesis from input-output examples. Albeit its significant progress, the programs that can be synthesized by state-of-the-art approaches…

Machine Learning · Computer Science 2018-03-09 Xinyun Chen , Chang Liu , Dawn Song

This paper presents an example-driven synthesis technique for automating a large class of data preparation tasks that arise in data science. Given a set of input tables and an out- put table, our approach synthesizes a table transformation…

Programming Languages · Computer Science 2016-11-23 Yu Feng , Ruben Martins , Jacob Van Geffen , Isil Dillig , Swarat Chaudhuri

Instructed code editing is a significant challenge for large language models (LLMs). On the EditBench benchmark, 39 of 40 evaluated models obtain a task success rate (TSR) below 60 percent, highlighting a gap between general code generation…

Software Engineering · Computer Science 2026-04-29 Noam Tarshish , Nofar Selouk , Daniel Hodisan , Bar Ezra Gafniel , Yuval Elovici , Asaf Shabtai , Eliya Nachmani

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

Synthetic data is a standard component in training large language models, yet systematic comparisons across design dimensions, including rephrasing strategy, generator model, and source data, remain absent. We conduct extensive controlled…

User simulation has been a cost-effective technique for evaluating conversational recommender systems. However, building a human-like simulator is still an open challenge. In this work, we focus on how users reformulate their utterances…

Information Retrieval · Computer Science 2022-05-05 Shuo Zhang , Mu-Chun Wang , Krisztian Balog

In many sequence learning tasks, such as program synthesis and document summarization, a key problem is searching over a large space of possible output sequences. We propose to learn representations of the outputs that are specifically…

Machine Learning · Computer Science 2021-08-09 Joey Hong , David Dohan , Rishabh Singh , Charles Sutton , Manzil Zaheer

Refactoring is the process of restructuring existing code without changing its external behavior while improving its internal structure. Refactoring engines are integral components of modern Integrated Development Environments (IDEs) and…

Software Engineering · Computer Science 2025-07-10 Haibo Wang , Zhuolin Xu , Shin Hwei Tan

We introduce transductive program synthesis, a new formulation of the program synthesis task that explicitly leverages test inputs during synthesis. While prior approaches to program synthesis--whether based on natural language descriptions…

Artificial Intelligence · Computer Science 2025-10-22 Kang-il Lee , Jahyun Koo , Seunghyun Yoon , Minbeom Kim , Hyukhun Koh , Dongryeol Lee , Kyomin Jung

Generative AI is transforming computing education by enabling the automatic generation of personalized content and feedback. We investigate its capabilities in providing high-quality programming tasks to students. Despite promising…

Artificial Intelligence · Computer Science 2025-08-28 Manh Hung Nguyen , Victor-Alexandru Pădurean , Alkis Gotovos , Sebastian Tschiatschek , Adish Singla