English
Related papers

Related papers: Concise Read-Only Specifications for Better Synthe…

200 papers

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

Automatic synthesis from a given specification automatically constructs correct implementation. This frees the user from the mundane implementation work, but still requires the specification. But is specifying easier than implementing? In…

Logic in Computer Science · Computer Science 2016-02-04 Ayrat Khalimov

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…

Abstract semantics has proven to be instrumental for accelerating search-based program synthesis, by enabling the sound pruning of a set of incorrect programs (without enumerating them). One may expect faster synthesis with increasingly…

Programming Languages · Computer Science 2026-04-17 Rui Dong , Qingyue Wu , Danny Ding , Zheng Guo , Ruyi Ji , Xinyu Wang

Temporal synthesis attempts to construct reactive programs that satisfy a given declarative (LTL) formula. Practitioners have found it challenging to work exclusively with declarative specifications, and have found languages that combine…

Logic in Computer Science · Computer Science 2021-07-05 Shaun Azzopardi , Nir Piterman , Gerardo Schneider

Formal verification provides a rigorous and systematic approach to ensure the correctness and reliability of software systems. Yet, constructing specifications for the full proof relies on domain expertise and non-trivial manpower. In view…

Software Engineering · Computer Science 2024-04-03 Cheng Wen , Jialun Cao , Jie Su , Zhiwu Xu , Shengchao Qin , Mengda He , Haokun Li , Shing-Chi Cheung , Cong Tian

Pre-trained Large Language Models (LLMs) are beginning to dominate the discourse around automatic code generation with natural language specifications. In contrast, the best-performing synthesizers in the domain of formal synthesis with…

Artificial Intelligence · Computer Science 2024-05-28 Yixuan Li , Julian Parsert , Elizabeth Polgreen

C/C++/OpenCL-based high-level synthesis (HLS) becomes more and more popular for field-programmable gate array (FPGA) accelerators in many application domains in recent years, thanks to its competitive quality of results (QoR) and short…

Hardware Architecture · Computer Science 2021-05-07 Yuze Chi , Licheng Guo , Jason Lau , Young-kyu Choi , Jie Wang , Jason Cong

Syntax-guided synthesis aims to find a program satisfying semantic specification as well as user-provided structural hypothesis. For syntax-guided synthesis there are two main search strategies: concrete search, which systematically or…

Programming Languages · Computer Science 2018-02-14 Kangjing Huang , Xiaokang Qiu , Qi Tian , Yanjun Wang

This work is concerned with the generation of formal specifications from code, using Large Language Models (LLMs) in combination with symbolic methods. Concretely, in our study, the programming language is C, the specification language is…

Software Engineering · Computer Science 2025-05-01 George Granberry , Wolfgang Ahrendt , Moa Johansson

This paper tackles the problem of synthesizing specifications for nondeterministic programs. For such programs, useful specifications can capture demonic properties, which hold for every nondeterministic execution, but also angelic…

Programming Languages · Computer Science 2025-03-03 Kanghee Park , Xuanyu Peng , Loris D'Antoni

We present an approach to automatically synthesise recursive predicates in Separation Logic (SL) from concrete data structure instances using Inductive Logic Programming (ILP) techniques. The main challenges to make such synthesis effective…

Programming Languages · Computer Science 2025-02-21 Ziyi Yang , Ilya Sergey

Reactive synthesis is the task of automatically deriving a correct implementation from a specification. It is a promising technique for the development of verified programs and hardware. Despite recent advances in terms of algorithms and…

Logic in Computer Science · Computer Science 2021-12-17 Bernd Finkbeiner , Gideon Geier , Noemi Passing

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

Program synthesis is a class of regression problems where one seeks a solution, in the form of a source-code program, mapping the inputs to their corresponding outputs exactly. Due to its precise and combinatorial nature, program synthesis…

Artificial Intelligence · Computer Science 2018-06-08 Yewen Pu , Zachery Miranda , Armando Solar-Lezama , Leslie Pack Kaelbling

We explore and formalize the task of synthesizing programs over noisy data, i.e., data that may contain corrupted input-output examples. By formalizing the concept of a Noise Source, an Input Source, and a prior distribution over programs,…

Programming Languages · Computer Science 2021-04-29 Shivam Handa , Martin Rinard

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

Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for input/output pair specifications (programming-by-example),…

Human-Computer Interaction · Computer Science 2019-09-27 Will Crichton

High-Level Synthesis (HLS) compiles algorithmic C/C++ descriptions into hardware, with Quality of Results (QoR) -- latency and resource utilization -- critically governed by pragma configurations and code structure. Existing LLM-based HLS…

Machine Learning · Computer Science 2026-05-14 Qingyun Zou , Feng Yu , Hongshi Tan , Yao Chen , Bingsheng He , WengFai Wong

Spatial computing architectures promise a major stride in performance and energy efficiency over the traditional load/store devices currently employed in large scale computing systems. The adoption of high-level synthesis (HLS) from…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-24 Johannes de Fine Licht , Maciej Besta , Simon Meierhans , Torsten Hoefler