Browsing by Author "Martinelli Tabajara, Lucas"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item BDD-Based Boolean Synthesis(2018-04-18) Martinelli Tabajara, Lucas; Vardi, Moshe Y.Synthesizing a Boolean function satisfying a given relation between inputs and outputs is a problem with many applications in the verification and design of hardware and software systems. In digital logic, Boolean synthesis can be used to automatically design circuits that produce the desired behavior. In program synthesis, Boolean functions can represent programs manipulating bit vectors and other data over finite domains. Additionally, Boolean synthesis is an essential component of reactive synthesis from temporal specifications, a problem that can be applied to automate the design of safety-critical systems. Binary Decision Diagrams (BDDs) have historically been popular data structures for representing Boolean functions, and BDDs are especially useful for the application of reactive synthesis, where they are particularly well-suited for fixpoint computations over sets of states. However, recent works in Boolean synthesis have raised concerns about the scalability of BDDs and chosen to use alternative approaches, such as SAT solvers. In this thesis, we show that BDDs remain viable structures for Boolean synthesis, by developing a BDD-based synthesis framework that can in many cases outperform alternative approaches. For cases where efficient BDD representations are hard to construct, we demonstrate that techniques for decomposing a Boolean relation into multiple smaller BDDs can be used to make BDD-based approaches competitive.Item Exploring Finite-Word Automata for Reactive Synthesis(2021-08-13) Martinelli Tabajara, Lucas; Vardi, Moshe Y.Formal verification can provide confidence in the correctness of a system by checking that its implementation satisfies a formal specification of its desired behavior. Yet, a system might have to be implemented and reimplemented many times before passing verification. Program synthesis, on the other hand, presents an alternative workflow where the implementation is directly and algorithmically generated from the formal specification. One widely-studied example is reactive synthesis, which aims to synthesize a reactive system from a specification in some form of temporal logic. So far, reactive synthesis has largely resisted practical implementation, not only because of the problem's 2EXPTIME worst-case complexity, but also because algorithms often rely on manipulation of automata over infinite words, for which there are no known efficient algorithms. The goal of this thesis is to take steps towards bringing reactive synthesis to the realm of practical application by exploring the potential of synthesis algorithms using automata over finite words. Not only are finite-word automata sufficient for many use cases of reactive synthesis - for example in robotics, where systems are built to perform finite tasks - but they support algorithms that are far more efficient and amenable to implementation in practice than automata over infinite words. The work presented in this thesis demonstrates how specialized synthesis algorithms making use of automata over finite words perform significantly better in practice than general algorithms based on infinite-word automata, despite having the same theoretical complexity. It also explores how to improve the construction of such automata in a way that benefits synthesis algorithms. Finally, it shows how the algorithmic simplicity of finite-word automata allows the implementation for the first time of useful extensions of reactive synthesis that in the past have been limited purely to the realm of theory, such as synthesis under partial observability, allowing us to identify significant differences between the theoretical analysis and practical performance of the algorithms.