English
Related papers

Related papers: Optimizing Recursive Queries with Program Synthesi…

200 papers

Program synthesis with Genetic Programming searches for a correct program that satisfies the input specification, which is usually provided as input-output examples. One particular challenge is how to effectively handle loops and recursion…

Neural and Evolutionary Computing · Computer Science 2024-02-28 Matheus Campos Fernandes , Fabricio Olivetti de Franca , Emilio Francesquini

This article presents resource-guided synthesis, a technique for synthesizing recursive programs that satisfy both a functional specification and a symbolic resource bound. The technique is type-directed and rests upon a novel type system…

Programming Languages · Computer Science 2019-04-19 Tristan Knoth , Di Wang , Nadia Polikarpova , Jan Hoffmann

We introduce a just-in-time runtime program transformation strategy based on repeated recursion unfolding. Our online program optimization generates several versions of a recursion differentiated by the minimal number of recursive steps…

Programming Languages · Computer Science 2025-11-05 Thom Fruehwirth

Program synthesis is the process of generating a computer program following a set of specifications, such as a set of input-output examples. It can be modeled as a search problem in which the search space is the set of all valid programs.…

Neural and Evolutionary Computing · Computer Science 2025-12-01 Matheus Campos Fernandes

Repeated recursion unfolding is a new approach that repeatedly unfolds a recursion with itself and simplifies it while keeping all unfolded rules. Each unfolding doubles the number of recursive steps covered. This reduces the number of…

Programming Languages · Computer Science 2020-09-14 Thom Fruehwirth

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

Runtime repeated recursion unfolding was recently introduced as a just-in-time program transformation strategy that can achieve super-linear speedup. So far, the method was restricted to single linear direct recursive rules in the…

Programming Languages · Computer Science 2025-03-14 Thom Fruehwirth

We consider the task of program synthesis in the presence of a reward function over the output of programs, where the goal is to find programs with maximal rewards. We employ an iterative optimization scheme, where we train an RNN on a…

Artificial Intelligence · Computer Science 2018-03-28 Daniel A. Abolafia , Mohammad Norouzi , Jonathan Shen , Rui Zhao , Quoc V. Le

Program synthesis aims to {\it automatically} find programs from an underlying programming language that satisfy a given specification. While this has the potential to revolutionize computing, how to search over the vast space of programs…

Neural and Evolutionary Computing · Computer Science 2022-03-01 Yuan Yuan , Wolfgang Banzhaf

Performance-critical industrial applications, including large-scale program, network, and distributed system analyses, are increasingly reliant on recursive queries for data analysis. Yet traditional relational algebra-based query…

Databases · Computer Science 2024-03-20 Anna Herlihy , Guillaume Martres , Anastasia Ailamaki , Martin Odersky

While deep learning approaches to information extraction have had many successes, they can be difficult to augment or maintain as needs shift. Rule-based methods, on the other hand, can be more easily modified. However, crafting rules…

Computation and Language · Computer Science 2022-02-02 Robert Vacareanu , Marco A. Valenzuela-Escarcega , George C. G. Barbosa , Rebecca Sharp , Mihai Surdeanu

Program synthesis has seen many new applications in recent years, in large part thanks to the introduction of SyGuS. However, no existing SyGuS solvers have support for synthesizing recursive functions. We introduce an multi-phase algorithm…

Programming Languages · Computer Science 2021-08-20 Shmuel Berman , Mark Santolucito

The prioritization of restoration actions after large power system outages plays a key role in how quickly power can be restored. It has been shown that fast and intuitive heuristics for restoration prioritization most often result in…

Systems and Control · Electrical Eng. & Systems 2022-04-07 Noah Rhodes , Carleton Coffrin , Line Roald

This paper addresses the problem of creating simplifiers for logic formulas based on conditional term rewriting. In particular, the paper focuses on a program synthesis application where formula simplifications have been shown to have a…

Programming Languages · Computer Science 2016-02-24 Rohit Singh , Armando Solar-Lezama

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Regular expressions are pervasive in modern systems. Many real-world regular expressions are inefficient, sometimes to the extent that they are vulnerable to complexity-based attacks, and while much research has focused on detecting…

Programming Languages · Computer Science 2022-09-30 Jedidiah McClurg , Miles Claver , Jackson Garner , Jake Vossen , Jordan Schmerge , Mehmet E. Belviranli

Program synthesis is an umbrella term for generating programs and logical formulae from specifications. With the remarkable performance improvements that GPUs enable for deep learning, a natural question arose: can we also implement a…

Programming Languages · Computer Science 2025-04-29 Martin Berger , Nathanaël Fijalkow , Mojtaba Valizadeh

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

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

RRULES is presented as an improvement and optimization over RULES, a simple inductive learning algorithm for extracting IF-THEN rules from a set of training examples. RRULES optimizes the algorithm by implementing a more effective mechanism…

Machine Learning · Computer Science 2021-06-15 Rafel Palliser-Sans
‹ Prev 1 2 3 10 Next ›