Program Synthesis

138 papers with code • 3 benchmarks • 5 datasets

Program synthesis is the process of automatically generating a program or code snippet that satisfies a given specification or set of requirements. This can include generating code from a formal specification, a natural language description, or example inputs and outputs. The primary goal of program synthesis is to minimize human intervention in the coding process, reduce errors, and improve productivity.

Program synthesis often involves the use of advanced algorithms, artificial intelligence, and machine learning techniques to search the space of possible programs that meet the given constraints. This process can be guided by a variety of techniques, such as constraint solving, symbolic execution, and genetic algorithms.

Libraries

Use these libraries to find Program Synthesis models and implementations

CodeScholar: Growing Idiomatic Code Examples

tart-proj/codescholar 23 Dec 2023

A tool that could generate realistic, idiomatic, and contextual usage examples for one or more APIs would be immensely beneficial to developers.

10
23 Dec 2023

Automating the Design of Multigrid Methods with Evolutionary Program Synthesis

jonas-schmitt/evostencils 22 Dec 2023

For this purpose, we develop a novel context-free grammar that enables the automated generation of multigrid methods in a symbolically-manipulable formal language, based on which we can apply the same multigrid-based solver to problems of different sizes without having to adapt its internal structure.

11
22 Dec 2023

KEN: Kernel Extensions using Natural Language

eunomia-bpf/ken 9 Dec 2023

In particular, the system uses symbolic execution in a novel structure that allows it to combine the results of program synthesis and program comprehension and build on the recent success that LLMs have shown for each of these tasks individually.

6
09 Dec 2023

Bring Your Own KG: Self-Supervised Program Synthesis for Zero-Shot KGQA

dhdhagar/byokg 14 Nov 2023

We present BYOKG, a universal question-answering (QA) system that can operate on any knowledge graph (KG), requires no human-annotated training data, and can be ready to use within a day -- attributes that are out-of-scope for current KGQA systems.

27
14 Nov 2023

Generating Pragmatic Examples to Train Neural Program Synthesizers

saujasv/generating-pragmatic-examples 9 Nov 2023

Programming-by-example is the task of synthesizing a program that is consistent with a set of user-provided input-output examples.

0
09 Nov 2023

LILO: Learning Interpretable Libraries by Compressing and Documenting Code

gabegrand/lilo 30 Oct 2023

While large language models (LLMs) now excel at code generation, a key aspect of software development is the art of refactoring: consolidating code into libraries of reusable and readable programs.

58
30 Oct 2023

Learning of Generalizable and Interpretable Knowledge in Grid-Based Reinforcement Learning Environments

manueleberhardinger/ec-rl 7 Sep 2023

Understanding the interactions of agents trained with deep reinforcement learning is crucial for deploying agents in games or the real world.

0
07 Sep 2023

Amortizing Pragmatic Program Synthesis with Rankings

evanthebouncy/pragmatic_synthesis_ranking 1 Sep 2023

We prove that for a pragmatic synthesizer that uses a single demonstration, our global ranking method exactly replicates RSA's ranked responses.

0
01 Sep 2023

Learning MDL logic programs from noisy data

celinehocquette/aaai24-maxsynth 18 Aug 2023

Many inductive logic programming approaches struggle to learn programs from noisy data.

2
18 Aug 2023

Enhancing Network Management Using Code Generated by Large Language Models

microsoft/nemoeval 11 Aug 2023

Analyzing network topologies and communication graphs plays a crucial role in contemporary network management.

17
11 Aug 2023