Automated probabilistic black-box verification
One of the longstanding challenges in Computer Science has been the development of methods and tools providing rigorous guarantees about systems’ behavior, performance, and security. There have been many successes in overcoming this challenge, notably the invention and widespread use of model checking. However, existing methods are impaired by the tension between the need of fast developing systems and the slowdown caused by the complexity of providing a model against which running systems can be verified.  Automata learning – automated discovery of automata models from system observations such as test logs – is emerging as a highly effective bug-finding technique with applications in verification of bank cards and basic network communication protocols. The design of algorithms for automata learning is a fundamental research problem and in the last years much progress has been made in developing and understanding of new algorithms (including the PI’s own work). Yet, existing algorithms do not support crucial quantitative or concurrency aspects that are essential in modelling properties such as network congestion and fault-tolerance.  The central objective of this project is to develop a new verification framework that enables automated model- based verification for probabilistic and concurrent systems, motivated by applications in networks. We will provide active learning algorithms, in the style of Angluin’s seminal L* algorithm, for automata models that were so far too complex to be tackled. We will base our development on rigorous semantic foundations, developed by the PI in recent years, which provide correctness for the algorithms in a modular way.  The project will significantly advance model-based verification in new and previously unexplored directions. This line of research will not only result in fundamental theoretical contributions and insights in their own right but will also impact the practice of concurrent and probabilistic network verification.