English
Related papers

Related papers: Constraint-Based Type-Directed Program Synthesis

200 papers

We propose a novel framework of program and invariant synthesis called neural network-guided synthesis. We first show that, by suitably designing and training neural networks, we can extract logical formulas over integers from the weights…

Programming Languages · Computer Science 2021-08-26 Naoki Kobayashi , Taro Sekiyama , Issei Sato , Hiroshi Unno

Recent advancements in large pre-trained transformer models (GPT2/3, T5) have found use in program synthesis to generate programs that satisfy a set of input/output examples. However, these models perform poorly on long-horizon and low-data…

Programming Languages · Computer Science 2022-05-20 Jack Roper

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

Many variants of type theory extend a basic theory with additional primitives or properties like univalence, guarded recursion or parametricity, to enable constructions or proofs that would be harder or impossible to do in the original…

Programming Languages · Computer Science 2022-07-05 Joris Ceulemans , Andreas Nuyts , Dominique Devriese

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

GADTs were introduced in Haskell's eco-system more than a decade ago, but their interaction with several mainstream features such as type classes and functional dependencies has a lot of room for improvement. More specifically, for some…

Programming Languages · Computer Science 2019-07-02 Koen Pauwels , Georgios Karachalias , Michiel Derhaeg , Tom Schrijvers

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

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

In the \emph{Adapter Design Pattern}, a programmer implements a \emph{Target} interface by constructing an \emph{Adapter} that accesses an existing \emph{Adaptee} code. In this work, we present a reactive synthesis interpretation to the…

Formal Languages and Automata Theory · Computer Science 2021-05-31 Gal Amram , Suguman Bansal , Dror Fried , Lucas M. Tabajara , Moshe Y. Vardi , Gera Weiss

In previous work, we have introduced functional strategies, that is, first-class generic functions that can traverse into terms of any type while mixing uniform and type-specific behaviour. In the present paper, we give a detailed…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

We study here a natural situation when constraint programming can be entirely reduced to rule-based programming. To this end we explain first how one can compute on constraint satisfaction problems using rules represented by simple…

Artificial Intelligence · Computer Science 2007-05-23 Krzysztof R. Apt , Eric Monfroy

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

This paper advocates for the broader application of SMT solvers in everyday programming, challenging the conventional wisdom that these tools are solely for formal methods and verification. We claim that SMT solvers, when seamlessly…

Programming Languages · Computer Science 2025-09-19 Facundo Domínguez , Arnaud Spiwack

Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming…

Programming Languages · Computer Science 2019-02-20 Li-yao Xia , Dominic Orchard , Meng Wang

With the rise of software-as-a-service and microservice architectures, RESTful APIs are now ubiquitous in mobile and web applications. A service can have tens or hundreds of API methods, making it a challenge for programmers to find the…

Programming Languages · Computer Science 2022-04-06 Zheng Guo , David Cao , Davin Tjong , Jean Yang , Cole Schlesinger , Nadia Polikarpova

This paper explores a new class of constrained difference programming problems, where the objective and constraints are formulated as differences of functions, without requiring their convexity. To investigate such problems, novel variants…

Optimization and Control · Mathematics 2026-04-21 Boris S. Mordukhovich , Yixia Song , Shangzhi Zeng , Jin Zhang

Most control synthesis methods under temporal logic properties require a model of the system, however, identifying such a model can be a challenging task. In this work, we develop a direct data-driven control synthesis method for temporal…

Systems and Control · Electrical Eng. & Systems 2024-04-05 Birgit C. van Huijgevoort , Chris Verhoek , Roland Tóth , Sofie Haesaert

We establish data-driven versions of the System Level Synthesis (SLS) parameterization of achievable closed-loop system responses for a linear-time-invariant system over a finite-horizon. Inspired by recent work in data-driven control that…

Optimization and Control · Mathematics 2021-03-09 Anton Xue , Nikolai Matni

Datatype-generic programming increases program abstraction and reuse by making functions operate uniformly across different types. Many approaches to generic programming have been proposed over the years, most of them for Haskell, but…

Programming Languages · Computer Science 2012-02-15 José Pedro Magalhães , Andres Löh

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