Robert Könighofer defends PhD

07.09.2015

Robert Könighofer
is defending his PhD on the 16th; the topic is
"Satisfiability-Based Methods for Controller Synthesis".
The defense will be held in our seminar room, at 12:30.

Synthesis is an appealing approach to construct hardware or software programs: a correct implementation is computed automatically from a declarative specification. Controller synthesis is a variant where (most) parts of the implementation are given. This allows for a mix of imperative and declarative programming, often referred to as program sketching, but also other applications such as automatic program repair. This thesis focuses on efficient controller synthesis methods for both hardware and software using decision procedures for the satisfiability of formulas.
In the hardware context, we focus on safety specifications. Existing synthesis approaches mostly use Binary Decision Diagrams (BDDs) as reasoning engine. In contrast, we present a number of novel algorithms that use decision procedures for propositional formulas (SAT solvers), Quantified Boolean Formulas (QBF solvers), or solvers for Effectively Propositional Logic (EPR). [Some details skipped]
For software controller synthesis, we focus on the application of automatic program repair using assertions in the code as specification. Our approach consists of three steps. First, we perform program analysis using symbolic or concolic execution to lift the repair problem into the domain of logic. The second step is error localization based on Model-Based Diagnosis and Satisfiability Modulo Theories (SMT) solving to identify potentially incorrect program parts. The third and central step is to synthesize replacements for the faulty program parts such that the specification is fulfilled. [Some details skipped]
In summary, this thesis contributes towards scalability in synthesis with novel satisfiability-based algorithms and optimizations, and to its applicability in the interesting field of software program repair.