English
Related papers

Related papers: Algebra-Based Reasoning for Loop Synthesis

200 papers

This work introduces (1) a technique that allows large language models (LLMs) to leverage user-provided code when solving programming tasks and (2) a method to iteratively generate modular sub-functions that can aid future code generation…

Machine Learning · Computer Science 2023-12-05 Patrick Hajali , Ignas Budvytis

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

We investigate the representation of symmetric polynomials as a sum of squares. Since this task is solved using semidefinite programming tools we explore the geometric, algebraic, and computational implications of the presence of discrete…

Commutative Algebra · Mathematics 2007-05-23 Karin Gatermann , Pablo A. Parrilo

The goal of program synthesis from examples is to find a computer program that is consistent with a given set of input-output examples. Most learning-based approaches try to find a program that satisfies all examples at once. Our work, by…

Machine Learning · Computer Science 2023-06-21 Disha Shrivastava , Hugo Larochelle , Daniel Tarlow

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

Testing algorithms across a wide range of problem instances is crucial to ensure the validity of any claim about one algorithm's superiority over another. However, when it comes to inference algorithms for probabilistic logic programs,…

Logic in Computer Science · Computer Science 2020-09-14 Paulius Dilkas , Vaishak Belle

A major bottleneck in search-based program synthesis is the exponentially growing search space which makes learning large programs intractable. Humans mitigate this problem by leveraging the compositional nature of the real world: In…

Artificial Intelligence · Computer Science 2024-12-25 Jonas Witt , Sebastijan Dumančić , Tias Guns , Claus-Christian Carbon

Synthesis of program parts is very useful for concurrent systems. However, most synthesis approaches do not support common design tasks, like modifying a single process without having to re-synthesize or verify the whole system.…

Logic in Computer Science · Computer Science 2014-11-18 Roderick Bloem , Krishnendu Chatterjee , Swen Jacobs , Robert Koenighofer

Automatically creating a computer program using input-output examples can be a challenging task, especially when trying to synthesize computer programs that require loops or recursion. Even though the use of recursion can make the…

Programming Languages · Computer Science 2024-06-04 Matheus Campos Fernandes , Fabrício Olivetti de França , Emilio Francesquini

We present a method for synthesizing recursive functions that satisfy both a functional specification and an asymptotic resource bound. Prior methods for synthesis with a resource metric require the user to specify a concrete expression…

Programming Languages · Computer Science 2021-05-27 Qinheping Hu , John Cyphert , Loris D'Antoni , Thomas Reps

With distributed computing and mobile applications, synchronizing diverging replicas of data structures is a more and more common problem. We use algebraic methods to reason about filesystem operations, and introduce a simplified definition…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Elod Pal Csirmaz

We present a new domain-agnostic synthesis technique for generating programs from input-output examples. Our method, called metric program synthesis, relaxes the well-known observational equivalence idea (used widely in bottom-up…

Programming Languages · Computer Science 2022-10-12 John Feser , Isil Dillig , Armando Solar-Lezama

Synthesis tools have seen significant success in recent times. However, past approaches often require a complete and accurate embedding of the source language in the logic of the underlying solver, an approach difficult for industrial-grade…

Programming Languages · Computer Science 2023-04-26 Sankha Narayan Guria , Jeffrey S. Foster , David Van Horn

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

Program synthesis--the automated generation of executable code from high-level specifications--has been a central goal of computer science for over fifty years. This thesis provides a comparative literature review of the main paradigms that…

Programming Languages · Computer Science 2025-08-04 Zurabi Kobaladze , Anna Arnania , Tamar Sanikidze

Given a relational specification between Boolean inputs and outputs, the goal of Boolean functional synthesis is to synthesize each output as a function of the inputs such that the specification is met. In this paper, we first show that…

Logic in Computer Science · Computer Science 2018-05-21 S. Akshay , Supratik Chakraborty , Shubham Goel , Sumith Kulal , Shetal Shah

We encode arrays as functions which, in turn, are encoded as sets of ordered pairs. The set cardinality of each of these functions coincides with the length of the array it is representing. Then we define a fragment of set theory that is…

Logic in Computer Science · Computer Science 2026-05-12 Maximiliano Cristiá , Gianfranco Rossi

Synthesis is the automatic construction of a system from its specification. In classical synthesis algorithms, it is always assumed that the system is "constructed from scratch" rather than composed from reusable components. This, of…

Logic in Computer Science · Computer Science 2015-07-01 Sumit Nain , Yoad Lustig , Moshe Y Vardi

We present the first approach to prove non-termination of integer programs that is based on loop acceleration. If our technique cannot show non-termination of a loop, it tries to accelerate it instead in order to find paths to other…

Logic in Computer Science · Computer Science 2019-08-09 Florian Frohn , Jürgen Giesl

Controller synthesis, including reset controller, feedback controller, and switching logic controller, provides an essential mechanism to guarantee the correctness and reliability of hybrid systems in a correct-by-construction manner.…

Systems and Control · Electrical Eng. & Systems 2023-09-13 Jiang Liu , Han Su , Yunjun Bai , Bin Gu , Bai Xue , Mengfei Yang , Naijun Zhan