English
Related papers

Related papers: Automated Synthesis of Asynchronizations

200 papers

Increasing demands in software industry and scarcity of software engineers motivates researchers and practitioners to automate the process of software generation and configuration. Large scale automatic software generation and configuration…

Software Engineering · Computer Science 2023-05-31 Shantanu Mandal

Inspired by a concrete industry problem we consider the input synthesis problem for hybrid systems: given a hybrid system that is subject to input from outside (also called disturbance or noise), find an input sequence that steers the…

Systems and Control · Computer Science 2016-02-22 Takumi Akazaki , Ichiro Hasuo , Kohei Suenaga

With the growth of the open-source data science community, both the number of data science libraries and the number of versions for the same library are increasing rapidly. To match the evolving APIs from those libraries, open-source…

Software Engineering · Computer Science 2021-02-16 Ansong Ni , Daniel Ramos , Aidan Yang , Inês Lynce , Vasco Manquinho , Ruben Martins , Claire Le Goues

We present Locksynth, a tool that automatically derives synchronization needed for destructive updates to concurrent data structures that involve a constant number of shared heap memory write operations. Locksynth serves as the…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-30 Sarat Chandra Varanasi , Neeraj Mittal , Gopal Gupta

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

Automatic parallelization remains a challenging problem in software engineering, particularly in identifying code regions where loops can be safely executed in parallel on modern multi-core architectures. Traditional static analysis…

Software Engineering · Computer Science 2026-04-01 Izavan dos S. Correia , Henrique C. T. Santos , Tiago A. E. Ferreira

When a problem has more than one solution, it is often important, depending on the underlying context, to enumerate (i.e., to list) them all. Even when the enumeration can be done in polynomial delay, that is, spending no more than…

Data Structures and Algorithms · Computer Science 2023-05-16 Yishu Wang , Arnaud Mary , Marie-France Sagot , Blerina Sinaimeri

Program synthesis is the task of constructing a program conforming to a given specification. We focus on deductive synthesis, and in particular on synthesis problems with specifications given as $\forall\exists$-formulas, expressing the…

Logic in Computer Science · Computer Science 2025-08-15 Márton Hajdu , Petra Hozzová , Laura Kovács , Andrei Voronkov , Eva Maria Wagner , Richard Steven Žilinčík

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

In this paper we tackle the problem of automatically designing concurrent data structure operations given a sequential data structure specification and knowledge about concurrent behavior. Designing concurrent code is a non-trivial task…

Logic in Computer Science · Computer Science 2020-11-10 Sarat Chandra Varanasi , Neeraj Mittal , Gopal Gupta

Asynchronous automata are a model of distributed finite state processes synchronising on shared actions. A celebrated result by Zielonka shows how a deterministic asynchronous automaton (AA) can be synthesised, starting from two inputs: a…

Formal Languages and Automata Theory · Computer Science 2026-02-02 Béatrice Bérard , Benjamin Monmege , B Srivathsan , Arnab Sur

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

We consider the problem of generating automatic code given sample input-output pairs. We train a neural network to map from the current state and the outputs to the program's next statement. The neural network optimizes multiple tasks…

Machine Learning · Computer Science 2019-01-23 Amit Zohar , Lior Wolf

The need for scalable numerical solutions has motivated the development of asynchronous parallel algorithms, where a set of nodes run in parallel with little or no synchronization, thus computing with delayed information. This paper studies…

Optimization and Control · Mathematics 2017-08-18 Robert Hannah , Wotao Yin

Researchers working on the automatic parallelization of programs have long known that too much parallelism can be even worse for performance than too little, because spawning a task to be run on another CPU incurs overheads.…

Programming Languages · Computer Science 2011-09-08 Paul Bone , Zoltan Somogyi , Peter Schachte

We present a novel programming language design that attempts to combine the clarity and safety of high-level functional languages with the efficiency and parallelism of low-level numerical languages. We treat arrays as eagerly-memoized…

Automatic verification of concurrent programs faces state explosion due to the exponential possible interleavings of its sequential components coupled with large or infinite state spaces. An alternative is deductive verification, where…

Programming Languages · Computer Science 2024-01-01 Yuan Xia , Jyotirmoy V. Deshmukh , Mukund Raghothaman , Srivatsan Ravi

We introduce program splicing, a programming methodology that aims to automate the commonly used workflow of copying, pasting, and modifying code available online. Here, the programmer starts by writing a "draft" that mixes unfinished code,…

Programming Languages · Computer Science 2017-05-26 Yanxin Lu , Swarat Chaudhuri , Chris Jermaine , David Melski

We address the design of distributed systems with synchronous dataflow programming languages. As modular design entails handling both architectural and functional modularity, our first contribution is to extend an existing synchronous…

Programming Languages · Computer Science 2012-11-13 Gwenaël Delaval , Alain Girault , Marc Pouzet

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford