English
Related papers

Related papers: A Program Synthesis Approach for Adding Architectu…

200 papers

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

We re-evaluate universal computation based on the synthesis of Turing machines. This leads to a view of programs as singularities of analytic varieties or, equivalently, as phases of the Bayesian posterior of a synthesis problem. This new…

Machine Learning · Computer Science 2021-03-31 James Clift , Daniel Murfet , James Wallbridge

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

A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a…

Programming Languages · Computer Science 2020-10-20 Shraddha Barke , Hila Peleg , Nadia Polikarpova

In recent years, there has been tremendous progress in automated synthesis techniques that are able to automatically generate code based on some intent expressed by the programmer. A major challenge for the adoption of synthesis remains in…

Programming Languages · Computer Science 2025-04-24 Hila Peleg , Sharon Shoham , Eran Yahav

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

Software implementations of controllers for physical systems are at the core of many embedded systems. The design of controllers uses the theory of dynamical systems to construct a mathematical control law that ensures that the controlled…

Systems and Control · Computer Science 2012-04-16 Rupak Majumdar , Indranil Saha , Majid Zamani

A key challenge for reinforcement learning is solving long-horizon planning problems. Recent work has leveraged programs to guide reinforcement learning in these settings. However, these approaches impose a high manual burden on the user…

Artificial Intelligence · Computer Science 2021-11-03 Yichen David Yang , Jeevana Priya Inala , Osbert Bastani , Yewen Pu , Armando Solar-Lezama , Martin Rinard

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

Constructing good test cases is difficult and time-consuming, especially if the system under test is still under development and its exact behavior is not yet fixed. We propose a new approach to compute test strategies for reactive systems…

Software Engineering · Computer Science 2018-09-11 Roderick Bloem , Goerschwin Fey , Fabian Greif , Robert Koenighofer , Ingo Pill , Heinz Riener , Franz Roeck

Implementing large software, as software analyzers which aim to be used in industrial settings, requires a well-engineered software architecture in order to ease its daily development and its maintenance process during its lifecycle. If the…

Software Engineering · Computer Science 2015-08-18 Julien Signoles

We present new techniques for synthesizing programs through sequences of mutations. Among these are (1) a method of local scoring assigning a score to each expression in a program, allowing us to more precisely identify buggy code, (2)…

Neural and Evolutionary Computing · Computer Science 2023-01-26 Max Vistrup

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Neural inductive program synthesis is a task generating instructions that can produce desired outputs from given inputs. In this paper, we focus on the generation of a chunk of assembly code that can be executed to match a state change…

Machine Learning · Computer Science 2019-10-15 Yifan Xu , Lu Dai , Udaikaran Singh , Kening Zhang , Zhuowen Tu

Software architecture is inherently knowledge-centric. The architectural knowledge is distributed across heterogeneous software artifacts such as requirements documents, design diagrams, code, and documentation, making it difficult for…

Software Engineering · Computer Science 2026-01-28 Jan Keim , Angelika Kaplan

Developing complex software systems is costly, time-consuming and error-prone. Model- driven development (MDD) promises to improve software productivity, timeliness, quality and cost through the transformation of abstract application models…

Software Engineering · Computer Science 2014-11-04 Hamid Bagheri

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

Programs that respond to asynchronous events are challenging to write; they are difficult to reason about and tricky to test and debug. Because these programs can have a huge space of possible input timings and interleaving, the programmer…

Programming Languages · Computer Science 2019-09-26 Julie L Newcomb , Rastislav Bodik

Much algorithmic research in NLP aims to efficiently manipulate rich formal structures. An algorithm designer typically seeks to provide guarantees about their proposed algorithm -- for example, that its running time or space complexity is…

Programming Languages · Computer Science 2025-12-30 Tim Vieira , Ryan Cotterell , Jason Eisner

We prove that certain formulations of program synthesis and reachability are equivalent. Specifically, our constructive proof shows the reductions between the template-based synthesis problem, which generates a program in a pre-specified…

Programming Languages · Computer Science 2019-03-29 ThanhVu Nguyen , Westley Weimer , Deepak Kapur , Stephanie Forrest