English
Related papers

Related papers: Connecting Program Synthesis and Reachability: Aut…

200 papers

Reachability analysis is a formal method to guarantee safety of dynamical systems under the influence of uncertainties. A substantial bottleneck of all reachability algorithms is the necessity to adequately tune specific algorithm…

Numerical Analysis · Mathematics 2024-02-23 Mark Wetzlinger , Niklas Kochdumper , Stanley Bak , Matthias Althoff

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

Due to the difficulty of repairing defect, many research efforts have been devoted into automatic defect repair. Given a buggy program that fails some test cases, a typical automatic repair technique tries to modify the program to make all…

Software Engineering · Computer Science 2018-08-30 Yingfei Xiong , Jie Wang , Runfa Yan , Jiachen Zhang , Shi Han , Gang Huang , Lu Zhang

The realizability problem in requirements engineering is to determine the existence of an implementation that meets the given formal requirements. A step forward after realizability is proven, is to construct such an implementation…

Software Engineering · Computer Science 2017-06-16 Andreas Katis , Grigory Fedyukovich , Andrew Gacek , John Backes , Arie Gurfinkel , Michael W. Whalen

Reactive synthesis transforms a specification of a reactive system, given in a temporal logic, into an implementation. The main advantage of synthesis is that it is automatic. The main disadvantage is that the implementation is usually very…

Logic in Computer Science · Computer Science 2021-01-01 Tom Baumeister , Bernd Finkbeiner , Hazem Torfah

This paper shows how to harness existing theorem provers for first-order logic to automatically verify safety properties of imperative programs that perform dynamic storage allocation and destructive updating of pointer-valued structure…

Logic in Computer Science · Computer Science 2015-07-01 Tal Lev-Ami , Neil Immerman , Thomas Reps , Mooly Sagiv , Siddharth Srivastava , Greta Yorsh

Recent work has proposed a promising approach to improving scalability of program synthesis by allowing the user to supply a syntactic template that constrains the space of potential programs. Unfortunately, creating templates often…

Programming Languages · Computer Science 2017-04-18 Jeevana Priya Inala , Nadia Polikarpova , Xiaokang Qiu , Benjamin S. Lerner , Armando Solar-Lezama

Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of…

Programming Languages · Computer Science 2019-10-10 Bruce Collie , Philip Ginsbach , Michael F. P. O'Boyle

We present a tractable method for synthesizing arbitrarily large concurrent programs, for a shared memory model with common hardware-available primitives such as atomic registers, compare-and-swap, load-linked/store conditional, etc. The…

Logic in Computer Science · Computer Science 2008-01-14 Paul C. Attie

We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program…

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

In this paper, we consider the problem of controller design using approximately bisimilar abstractions with an emphasis on safety and reachability specifications. We propose abstraction-based approaches to solve both classes of problems. We…

Systems and Control · Computer Science 2011-06-17 Antoine Girard

We study the almost-sure reachability problem in a distributed system obtained as the asynchronous composition of N copies (called processes) of the same automaton (called protocol), that can communicate via a shared register with finite…

Logic in Computer Science · Computer Science 2016-05-06 Patricia Bouyer , Nicolas Markey , Mickael Randour , Arnaud Sangnier , Daniel Stan

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

A long-standing open challenge for automated program repair is the overfitting problem, which is caused by having insufficient or incomplete specifications to validate whether a generated patch is correct or not. Most available repair…

Software Engineering · Computer Science 2021-11-11 Omar I. Al-Bataineh , Anastasiia Grishina , Leon Moonen

Among the many different kinds of program repair techniques, one widely studied family of techniques is called test suite based repair. Test-suites are in essence input-output specifications and are therefore typically inadequate for…

Software Engineering · Computer Science 2017-03-02 Zhongxing Yu , Matias Martinez , Benjamin Danglot , Thomas Durieux , Martin Monperrus

Iterative imperative programs can be considered as infinite-state systems computing over possibly unbounded domains. Studying reachability in these systems is challenging as it requires to deal with an infinite number of states with…

Logic in Computer Science · Computer Science 2013-02-15 Arnaud Gotlieb , Tristan Denmat , Nadjib Lazaar

Automatic program repair holds the potential of dramatically improving the productivity of programmers during the software development process and correctness of software in general. Recent advances in machine learning, deep learning, and…

Software Engineering · Computer Science 2021-09-24 Hossein Hajipour , Apratim Bhattacharyya , Cristian-Alexandru Staicu , Mario Fritz

We revisit a fundamental result in real-time verification, namely that the binary reachability relation between configurations of a given timed automaton is definable in linear arithmetic over the integers and reals. In this paper we give a…

Logic in Computer Science · Computer Science 2017-04-20 Karin Quaas , Mahsa Shirmohammadi , James Worrell

In the field of automated program repair, the redundancy assumption claims large programs contain the seeds of their own repair. However, most redundancy-based program repair techniques do not reason about the repair ingredients---the code…

Software Engineering · Computer Science 2023-10-13 Martin White , Michele Tufano , Matias Martinez , Martin Monperrus , Denys Poshyvanyk