English
Related papers

Related papers: Constraint-Based Type-Directed Program Synthesis

200 papers

Programs with constraints are hard to debug. In this paper, we describe a general architecture to help develop new debugging tools for constraint programming. The possible tools are fed by a single general-purpose tracer. A tracer-driver is…

Software Engineering · Computer Science 2007-05-23 Ludovic Langevine , Mireille Ducasse

Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by…

Programming Languages · Computer Science 2026-01-08 Ivan Perez , Angel Herranz

Language models have shown remarkable proficiency in code generation; nevertheless, ensuring type correctness remains a challenge. Although traditional methods, such as constrained decoding, alleviate this problem by externally rejecting…

Programming Languages · Computer Science 2026-02-09 Zhechong Huang , Zhao Zhang , Ruyi Ji , Tingxuan Xia , Qihao Zhu , Qinxiang Cao , Zeyu Sun , Wiggin Zhou , Yingfei Xiong

This paper introduces a framework of parametric descriptive directional types for constraint logic programming (CLP). It proposes a method for locating type errors in CLP programs and presents a prototype debugging tool. The main technique…

Programming Languages · Computer Science 2007-05-23 W. Drabent , J. Maluszynski , P. Pietrzak

Automatically constructing a program based on given specifications has been studied for decades. Despite the advances in the field of Program Synthesis, the current approaches still synthesize a block of code snippet and leave the task of…

Software Engineering · Computer Science 2022-01-26 Ali Shokri

We describe techniques for synthesis and verification of recursive functional programs over unbounded domains. Our techniques build on top of an algorithm for satisfiability modulo recursive functions, a framework for deductive synthesis,…

Programming Languages · Computer Science 2013-04-23 Etienne Kneuss , Viktor Kuncak , Ivan Kuraj , Philippe Suter

Programmers frequently maintain implicit data invariants, which are relations between different data structures in a program. Traditionally, such invariants are manually enforced and checked by programmers. This ad-hoc practice is difficult…

Programming Languages · Computer Science 2019-10-29 John Sarracino , Shraddha Barke , Hila Peleg , Sorin Lerner , Nadia Polikarpova

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

We propose an amortized analysis that approximates the resource usage of a Haskell expression. Using the plugin API of GHC, we convert the Haskell code into a simplified representation called GHC Core. We then apply a type-based system…

Programming Languages · Computer Science 2019-08-20 Franz Siglmüller

The goal of program synthesis is to automatically generate programs in a particular language from corresponding specifications, e.g. input-output behavior. Many current approaches achieve impressive results after training on randomly…

Machine Learning · Computer Science 2020-01-01 Richard Shin , Neel Kant , Kavi Gupta , Christopher Bender , Brandon Trabucco , Rishabh Singh , Dawn Song

A deductive program synthesis tool takes a specification as input and derives a program that satisfies the specification. The drawback of this approach is that search spaces for such correct programs tend to be enormous, making it difficult…

Neural and Evolutionary Computing · Computer Science 2023-01-23 Yutaka Nagashima

Synthesizing user-intended programs from a small number of input-output examples is a challenging problem with several important applications like spreadsheet manipulation, data wrangling and code refactoring. Existing synthesis systems…

Artificial Intelligence · Computer Science 2018-09-17 Ashwin Kalyan , Abhishek Mohta , Oleksandr Polozov , Dhruv Batra , Prateek Jain , Sumit Gulwani

In recent years, languages like Haskell have seen a dramatic surge of new features that significantly extends the expressive power of their type systems. With these features, the challenge of kind inference for datatype declarations has…

Programming Languages · Computer Science 2019-11-15 Ningning Xie , Richard A. Eisenberg , Bruno C. d. S. Oliveira

Constrained sequential pattern mining aims at identifying frequent patterns on a sequential database of items while observing constraints defined over the item attributes. We introduce novel techniques for constraint-based sequential…

Machine Learning · Computer Science 2019-01-01 Amin Hosseininasab , Willem-Jan van Hoeve , Andre A. Cire

We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program…

Inspired by a concrete industry problem we consider the input synthesis problem for hybrid systems: given a hybrid system that is subject to input from outside (also called disturbance or noise), find an input sequence that steers the…

Systems and Control · Computer Science 2016-02-22 Takumi Akazaki , Ichiro Hasuo , Kohei Suenaga

Type classes are an elegant extension to traditional, Hindley-Milner based typing systems. They are used in modern, typed languages such as Haskell to support controlled overloading of symbols. Haskell 98 supports only single-parameter and…

Programming Languages · Computer Science 2007-05-23 Kevin Glynn , Martin Sulzmann , Peter J. Stuckey

Fragment-based shape signature techniques have proven to be powerful tools for computer-aided drug design. They allow scientists to search for target molecules with some similarity to a known active compound. They do not require reference…

Artificial Intelligence · Computer Science 2022-01-05 Thierry Petit , Randy J. Zauhar

Program synthesis is the process of generating a computer program following a set of specifications, which can be a high-level description of the problem and/or a set of input-output examples. The synthesis can be modeled as a search…

Neural and Evolutionary Computing · Computer Science 2023-04-07 Matheus Campos Fernandes , Fabrício Olivetti de França , Emilio Francesquini

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