English
Related papers

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

200 papers

Software synthesis - the process of generating complete, general-purpose programs from specifications - has become a hot research topic in the past few years. For decades the problem was thought to be insurmountable: the search space of…

Programming Languages · Computer Science 2015-10-29 Jonathan Frankle

FPGAs excel in low power and high throughput computations, but they are challenging to program. Traditionally, developers rely on hardware description languages like Verilog or VHDL to specify the hardware behavior at the register-transfer…

Automation of code reviews using AI models has garnered substantial attention in the software engineering community as a strategy to reduce the cost and effort associated with traditional peer review processes. These models are typically…

Software Engineering · Computer Science 2025-04-24 Leonardo Centellas-Claros , Juan J. Alonso-Lecaros , Juan Pablo Sandoval Alcocer , Andres Neyem

A modern approach to engineering correct-by-construction systems is to synthesize them automatically from formal specifications. Oftentimes, a system can only satisfy its guarantees if certain environment assumptions hold, which motivates…

Logic in Computer Science · Computer Science 2015-07-10 Roderick Bloem , Ruediger Ehlers , Robert Koenighofer

High-level synthesis (HLS) is an automated design process that transforms high-level code into hardware designs, enabling the rapid development of hardware accelerators. HLS relies on pragmas, which are directives inserted into the source…

Machine Learning · Computer Science 2025-05-09 Yunsheng Bai , Atefeh Sohrabizadeh , Zijian Ding , Rongjian Liang , Weikai Li , Ding Wang , Haoxing Ren , Yizhou Sun , Jason Cong

The synthesis of reactive systems aims for the automated construction of strategies for systems that interact with their environment. Whereas the synthesis approach has the potential to change the development of reactive systems…

Logic in Computer Science · Computer Science 2024-11-04 Linda Feeken , Martin Fränzle

Compiling programs to an instruction set architecture (ISA) requires a set of rewrite rules that map patterns consisting of compiler instructions to patterns consisting of ISA instructions. We synthesize such rules by constructing SMT…

Logic in Computer Science · Computer Science 2024-05-21 Ross Daly , Caleb Donovick , Caleb Terrill , Jackson Melchert , Priyanka Raina , Clark Barrett , Pat Hanrahan

This article surveys the System Level Synthesis framework, which presents a novel perspective on constrained robust and optimal controller synthesis for linear systems. We show how SLS shifts the controller synthesis task from the design of…

Optimization and Control · Mathematics 2019-04-04 James Anderson , John C. Doyle , Steven Low , Nikolai Matni

Among the biggest challenges in property-based testing (PBT) is the constrained random generation problem: given a predicate on program values, randomly sample from the set of all values satisfying that predicate, and only those values.…

Programming Languages · Computer Science 2026-04-15 Harrison Goldstein , Hila Peleg , Cassia Torczon , Daniel Sainati , Leonidas Lampropoulos , Benjamin C. Pierce

In runtime verification, manually formalizing a specification for monitoring system executions is a tedious and error-prone process. To address this issue, we consider the problem of automatically synthesizing formal specifications from…

Artificial Intelligence · Computer Science 2023-10-27 Ritam Raha , Rajarshi Roy , Nathanael Fijalkow , Daniel Neider , Guillermo A. Perez

Automatic synthesis from temporal logic specifications is an attractive alternative to manual system design, due to its ability to generate correct-by-construction implementations from high-level specifications. Due to the high complexity…

Logic in Computer Science · Computer Science 2023-01-25 Philippe Heim , Rayna Dimitrova

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

We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on…

Machine Learning · Statistics 2020-06-22 Matej Balog , Rishabh Singh , Petros Maniatis , Charles Sutton

High-level synthesis (HLS) transforms an algorithmic description of hardware from a higher abstraction (e.g., C/C++) into a register-transfer level (RTL) design, offering reduced development time and greater flexibility in design space…

Hardware Architecture · Computer Science 2026-04-27 Xiaofeng Zhou , Linfeng Du , Guangyu Hu , Sharad Sinha , Hongce Zhang , Wei Zhang

We study the problem of synthesizing programs from nonlinear real arithmetic (NRA) specifications. Existing techniques, such as syntax-guided synthesis (SyGuS), fail to synthesize programs when the specification is unrealizable. We argue…

Programming Languages · Computer Science 2026-05-26 S. Akshay , Supratik Chakraborty , R. Govind , Aniruddha R. Joshi

Program synthesis is the task of automatically generating a program consistent with a given specification. A natural way to specify programs is to provide examples of desired input-output behavior, and many current program synthesis…

Machine Learning · Computer Science 2020-07-28 Alexander Suh , Yuval Timen

Epistemic protocol specifications allow programs, for settings in which multiple agents act with incomplete information, to be described in terms of how actions are related to what the agents know. They are a variant of the knowledge-based…

Logic in Computer Science · Computer Science 2016-02-04 Xiaowei Huang , Ron van der Meyden

Formal specifications play a pivotal role in accurately characterizing program behaviors and ensuring software correctness. In recent years, leveraging large language models (LLMs) for the automatic generation of program specifications has…

Software Engineering · Computer Science 2026-02-03 Zehan Chen , Long Zhang , Zhiwei Zhang , JingJing Zhang , Ruoyu Zhou , Yulong Shen , JianFeng Ma , Lin Yang

Multimodal program synthesis, which leverages different types of user input to synthesize a desired program, is an attractive way to scale program synthesis to challenging settings; however, it requires integrating noisy signals from the…

Computation and Language · Computer Science 2021-09-16 Xi Ye , Qiaochu Chen , Isil Dillig , Greg Durrett

Designing a static analysis is generally a substantial undertaking, requiring significant expertise in both program analysis and the domain of the program analysis, and significant development resources. As a result, most program analyses…

Programming Languages · Computer Science 2018-10-17 Colin S. Gordon