English
Related papers

Related papers: On Repair with Probabilistic Attribute Grammars

200 papers

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

The usage of Rational Speech Acts (RSA) framework has been successful in building \emph{pragmatic} program synthesizers that return programs which, in addition to being logically consistent with user-generated examples, account for the fact…

Programming Languages · Computer Science 2024-07-17 Yewen Pu , Saujas Vaduguru , Priyan Vaithilingam , Elena Glassman , Daniel Fried

For deterministic and probabilistic programs we investigate the problem of program synthesis and program optimisation (with respect to non-functional properties) in the general setting of global optimisation. This approach is based on the…

Programming Languages · Computer Science 2014-07-22 Herbert Wiklicky

Automatic program repair (APR) techniques have the potential to reduce manual efforts in uncovering and repairing program defects during the code review (CR) process. However, the limited accuracy and considerable time costs associated with…

Software Engineering · Computer Science 2024-01-01 Zelin Zhao , Zhaogui Xu , Jialong Zhu , Peng Di , Yuan Yao , Xiaoxing Ma

Program synthesis is a class of regression problems where one seeks a solution, in the form of a source-code program, mapping the inputs to their corresponding outputs exactly. Due to its precise and combinatorial nature, program synthesis…

Artificial Intelligence · Computer Science 2018-06-08 Yewen Pu , Zachery Miranda , Armando Solar-Lezama , Leslie Pack Kaelbling

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed,…

Artificial Intelligence · Computer Science 2020-10-22 Yewen Pu , Kevin Ellis , Marta Kryven , Josh Tenenbaum , Armando Solar-Lezama

Programming is increasingly taught using block-based languages like Scratch. While the use of blocks prevents syntax errors, learners can still make semantic mistakes, requiring feedback and help. As teachers may be overwhelmed by help…

Software Engineering · Computer Science 2025-04-18 Sebastian Schweikl , Gordon Fraser

Program synthesis aims to automatically generate an executable program that conforms to the given specification. Recent advancements have demonstrated that deep neural methodologies and large-scale pretrained language models are highly…

Robotics · Computer Science 2023-12-14 Tianyi Chen , Qidi Wang , Zhen Dong , Liwei Shen , Xin Peng

We study the problem of semantic code repair, which can be broadly defined as automatically fixing non-syntactic bugs in source code. The majority of past work in semantic code repair assumed access to unit tests against which candidate…

Artificial Intelligence · Computer Science 2017-10-31 Jacob Devlin , Jonathan Uesato , Rishabh Singh , Pushmeet Kohli

In the task of automatic program synthesis, one obtains pairs of matching inputs and outputs and generates a computer program, in a particular domain-specific language (DSL), which given each sample input returns the matching output. A key…

Machine Learning · Computer Science 2023-03-14 Aran Carmon , Lior Wolf

Automated program repair (APR) aims to fix software bugs automatically and plays a crucial role in software development and maintenance. With the recent advances in deep learning (DL), an increasing number of APR techniques have been…

Software Engineering · Computer Science 2023-11-02 Quanjun Zhang , Chunrong Fang , Yuxiang Ma , Weisong Sun , Zhenyu Chen

We propose a novel method for automatic program synthesis. P-Tree Programming represents the program search space through a single probabilistic prototype tree. From this prototype tree we form program instances which we evaluate on a given…

Artificial Intelligence · Computer Science 2017-07-13 Christian Oesch

Automated program repair is an emerging technology that seeks to automatically rectify bugs and vulnerabilities using learning, search, and semantic analysis. Trust in automatically generated patches is necessary for achieving greater…

Software Engineering · Computer Science 2022-02-14 Yannic Noller , Ridwan Shariffdeen , Xiang Gao , Abhik Roychoudhury

Probabilistic programming has emerged as a powerful paradigm in statistics, applied science, and machine learning: by decoupling modelling from inference, it promises to allow modellers to directly reason about the processes generating…

Machine Learning · Statistics 2019-06-10 Maria I. Gorinova , Dave Moore , Matthew D. Hoffman

Grammatical error correction, like other machine learning tasks, greatly benefits from large quantities of high quality training data, which is typically expensive to produce. While writing a program to automatically generate realistic…

Computation and Language · Computer Science 2018-10-02 Sudhanshu Kasewa , Pontus Stenetorp , Sebastian Riedel

Large language models (LLMs) are reshaping automated program repair. We present a unified taxonomy that groups 62 recent LLM-based repair systems into four paradigms defined by parameter adaptation and control authority over the repair…

Software Engineering · Computer Science 2025-12-05 Boyang Yang , Zijian Cai , Fengling Liu , Bach Le , Lingming Zhang , Tegawendé F. Bissyandé , Yang Liu , Haoye Tian

We consider the problem of synthesizing programs with numerical constants that optimize a quantitative objective, such as accuracy, over a set of input-output examples. We propose a general framework for optimal synthesis of such programs…

Programming Languages · Computer Science 2026-02-17 Stephen Mell , Steve Zdancewic , Osbert Bastani

Context-free grammars (CFGs) are the de-facto formalism for declaratively describing concrete syntax for programming languages and generating parsers. One of the major challenges in defining a desired syntax is ruling out all possible…

Programming Languages · Computer Science 2026-02-23 Yunjeong Lee , Gokul Rajiv , Ilya Sergey

Feature modeling is a widely used formalism to characterize a set of products (also called configurations). As a manual elaboration is a long and arduous task, numerous techniques have been proposed to reverse engineer feature models from…

Software Engineering · Computer Science 2015-02-17 Guillaume Bécan , Razieh Behjati , Arnaud Gotlieb , Mathieu Acher

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia