English
Related papers

Related papers: Synthesizing Programs with Continuous Optimization

200 papers

Program Synthesis is the task of generating a program from a provided specification. Traditionally, this has been treated as a search problem by the programming languages (PL) community and more recently as a supervised learning problem by…

Artificial Intelligence · Computer Science 2018-06-11 Riley Simmons-Edler , Anders Miltner , Sebastian Seung

Programming by example is the problem of synthesizing a program from a small set of input / output pairs. Recent works applying machine learning methods to this task show promise, but are typically reliant on generating synthetic examples…

Machine Learning · Computer Science 2019-11-11 Judith Clymo , Haik Manukian , Nathanaël Fijalkow , Adrià Gascón , Brooks Paige

Program synthesis is an umbrella term for generating programs and logical formulae from specifications. With the remarkable performance improvements that GPUs enable for deep learning, a natural question arose: can we also implement a…

Programming Languages · Computer Science 2025-04-29 Martin Berger , Nathanaël Fijalkow , Mojtaba Valizadeh

A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a…

Programming Languages · Computer Science 2020-10-20 Shraddha Barke , Hila Peleg , Nadia Polikarpova

Given a multithreaded program written assuming a friendly, non-preemptive scheduler, the goal of synchronization synthesis is to automatically insert synchronization primitives to ensure that the modified program behaves correctly, even…

We present new techniques for automatically constructing probabilistic programs for data analysis, interpretation, and prediction. These techniques work with probabilistic domain-specific data modeling languages that capture key properties…

Programming Languages · Computer Science 2019-07-16 Feras A. Saad , Marco F. Cusumano-Towner , Ulrich Schaechtle , Martin C. Rinard , Vikash K. Mansinghka

Gene expression programming, a genotype/phenotype genetic algorithm (linear and ramified), is presented here for the first time as a new technique for the creation of computer programs. Gene expression programming uses character linear…

Artificial Intelligence · Computer Science 2007-05-23 Candida Ferreira

Synthesis of optimization algorithms typically follows a {\em design-then-analyze\/} approach, which can obscure fundamental performance limits and hinder the systematic development of algorithms that operate near these limits. Recently, a…

Optimization and Control · Mathematics 2025-09-26 Ibrahim K. Ozaslan , Wuwei Wu , Jie Chen , Tryphon T. Georgiou , Mihailo R. Jovanovic

Providing examples is one of the most common way for end-users to interact with program synthesizers. However, program synthesis systems assume that examples consistent with the program are chosen at random, and do not exploit the fact that…

Artificial Intelligence · Computer Science 2022-04-07 Saujas Vaduguru , Kevin Ellis , Yewen Pu

Program synthesis and repair have emerged as an exciting area of research, driven by the potential for revolutionary advances in programmer productivity. Among most promising ideas emerging for synthesis are syntax-driven search,…

Programming Languages · Computer Science 2017-07-14 Manos Koukoutos , Mukund Raghothaman , Etienne Kneuss , Viktor Kuncak

This article presents resource-guided synthesis, a technique for synthesizing recursive programs that satisfy both a functional specification and a symbolic resource bound. The technique is type-directed and rests upon a novel type system…

Programming Languages · Computer Science 2019-04-19 Tristan Knoth , Di Wang , Nadia Polikarpova , Jan Hoffmann

Program synthesis is the task of automatically deriving a program that has been specified by a user in advance. Combining automated theorem proving with program synthesis enables the automated construction of proven-to-be-correct programs,…

Logic in Computer Science · Computer Science 2026-05-20 Márton Hajdu , Petra Hozzová , Laura Kovács , Eva Maria Wagner

Probabilistic programs are key to deal with uncertainty in e.g. controller synthesis. They are typically small but intricate. Their development is complex and error prone requiring quantitative reasoning over a myriad of alternative…

Software Engineering · Computer Science 2019-04-30 Milan Češka , Christian Hensel , Sebastian Junges , Joost-Pieter Katoen

Provably correct software is one of the key challenges of our software-driven society. Program synthesis -- the task of constructing a program satisfying a given specification -- is one strategy for achieving this. The result of this task…

Logic in Computer Science · Computer Science 2022-06-24 Andreas Humenberger , Daneshvar Amrollahi , Nikolaj Bjørner , Laura Kovács

Selecting the right compiler optimisations has a severe impact on programs' performance. Still, the available optimisations keep increasing, and their effect depends on the specific program, making the task human intractable. Researchers…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-12 Stefano Cereda , Gianluca Palermo , Paolo Cremonesi , Stefano Doni

Regular expressions are pervasive in modern systems. Many real-world regular expressions are inefficient, sometimes to the extent that they are vulnerable to complexity-based attacks, and while much research has focused on detecting…

Programming Languages · Computer Science 2022-09-30 Jedidiah McClurg , Miles Claver , Jackson Garner , Jake Vossen , Jordan Schmerge , Mehmet E. Belviranli

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

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

In Search Based Software Engineering, Genetic Programming has been used for bug fixing, performance improvement and parallelisation of programs through the modification of source code. Where an evolutionary computation algorithm, such as…

Neural and Evolutionary Computing · Computer Science 2012-11-22 Brendan Cody-Kenny , Stephen Barrett

In this paper we describe SYNERGY, which is a highly parallelizable, linear planning system that is based on the genetic programming paradigm. Rather than reasoning about the world it is planning for, SYNERGY uses artificial selection,…

Artificial Intelligence · Computer Science 2007-05-23 Ion Muslea