English
Related papers

Related papers: Synthesizing Program Input Grammars

200 papers

Large-scale generalized linear array models (GLAMs) can be challenging to fit. Computation and storage of its tensor product design matrix can be impossible due to time and memory constraints, and previously considered design matrix free…

Computation · Statistics 2016-09-05 Adam Lund , Martin Vincent , Niels Richard Hansen

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

The use of deep learning techniques has achieved significant progress for program synthesis from input-output examples. However, when the program semantics become more complex, it still remains a challenge to synthesize programs that are…

Machine Learning · Computer Science 2020-10-23 Kavi Gupta , Peter Ebert Christensen , Xinyun Chen , Dawn Song

We present an automated reasoning framework for synthesizing recursion-free programs using saturation-based theorem proving. Given a functional specification encoded as a first-order logical formula, we use a first-order theorem prover to…

Logic in Computer Science · Computer Science 2024-03-01 Petra Hozzová , Laura Kovács , Chase Norman , Andrei Voronkov

Block-based programming languages enable young learners to quickly implement fun programs and games. The Scratch programming environment is particularly successful at this, with more than 50 million registered users at the time of this…

Software Engineering · Computer Science 2020-09-10 Adina Deiner , Christoph Frädrich , Gordon Fraser , Sophia Geserer , Niklas Zantner

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

Fuzz Testing is a largely automated testing technique that provides random and unexpected input to a program in attempt to trigger failure conditions. Much of the research conducted thus far into Fuzz Testing has focused on developing…

Software Engineering · Computer Science 2019-07-30 Matthew Kelly , Christoph Treude , Alex Murray

In this research summary we present our recent work on implementing functional patterns with inverse functions in the lazy functional-logic programming language Curry. Our goal is the synthesis of the inverse of any given function in Curry…

Programming Languages · Computer Science 2020-09-23 Finn Teegen

Knowledge base population seeks to expand knowledge graphs with facts that are typically extracted from a text corpus. Recently, language models pretrained on large corpora have been shown to contain factual knowledge that can be retrieved…

Computation and Language · Computer Science 2024-01-30 Andrés García-Silva , Cristian Berrío , José Manuel Gómez-Pérez

Researchers have recently proposed several systems that ease the process of performing Bayesian probabilistic inference. These include systems for automatic inference algorithm synthesis as well as stronger abstractions for manual algorithm…

Programming Languages · Computer Science 2018-05-07 Eric Atkinson , Cambridge Yang , Michael Carbin

Logic synthesis is a crucial phase in the circuit design process, responsible for transforming hardware description language (HDL) designs into optimized netlists. However, traditional logic synthesis methods are computationally intensive,…

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

Code completion is a prominent application of Large Language Models (LLMs) in software engineering. Due to the near real-time response requirements of this task, base models with small to medium-sized parameters are typically employed,…

Software Engineering · Computer Science 2025-09-18 Dongjun Yu , Xiao Yan , Zhenrui Li , Jipeng Xiao , Haochuan He , Yongda Yu , Hao Zhang , Guoping Rong , Xiaobo Huang

Automated insight generation is a common tactic for helping knowledge workers, such as data scientists, to quickly understand the potential value of new and unfamiliar data. Unfortunately, automated insights produced by large-language…

Software Engineering · Computer Science 2024-05-06 Ananya Singha , Bhavya Chopra , Anirudh Khatry , Sumit Gulwani , Austin Z. Henley , Vu Le , Chris Parnin , Mukul Singh , Gust Verbruggen

Probabilistic context-free grammars (PCFGs) with neural parameterization have been shown to be effective in unsupervised phrase-structure grammar induction. However, due to the cubic computational complexity of PCFG representation and…

Computation and Language · Computer Science 2021-04-29 Songlin Yang , Yanpeng Zhao , Kewei Tu

We introduce (1) a novel parser for Minimalist Grammars (MG), encoded as a system of first-order logic formulae that may be evaluated using an SMT-solver, and (2) a novel procedure for inferring Minimalist Grammars using this parser. The…

Computation and Language · Computer Science 2019-05-09 Sagar Indurkhya

This paper is concerned with synthesizing programs based on black-box oracles: we are interested in the case where there exists an executable implementation of a component or library, but its internal structure is unknown. We are provided…

Programming Languages · Computer Science 2020-10-13 Bruce Collie , Jackson Woodruff , Michael F. P. O'Boyle

Fuzzing is a technique widely used in vulnerability detection. The process usually involves writing effective fuzz driver programs, which, when done manually, can be extremely labor intensive. Previous attempts at automation leave much to…

Software Engineering · Computer Science 2021-03-02 Mingrui Zhang , Jianzhong Liu , Fuchen Ma , Huafeng Zhang , Yu Jiang

Fuzzing is a popular dynamic program analysis technique used to find vulnerabilities in complex software. Fuzzing involves presenting a target program with crafted malicious input designed to cause crashes, buffer overflows, memory errors,…

Software Engineering · Computer Science 2017-11-15 Mohit Rajpal , William Blum , Rishabh Singh

Large language models (LLMs) for natural language processing have been grafted onto programming language modeling for advancing code intelligence. Although it can be represented in the text format, code is syntactically more rigorous in…

Software Engineering · Computer Science 2023-09-20 Jiabo Huang , Jianyu Zhao , Yuyang Rong , Yiwen Guo , Yifeng He , Hao Chen