ELLIS Delft meeting: Learning software behavior

06 april 2021 16:00 | Zet in mijn agenda

Speaker: Sicco Verwer


Abstract:
It is well-known that software behavior is succinctly captured by sequential modes called state machines or automata. These are a type of hidden Markov models or Discrete Event Systems that are frequently used during software development and verification. When the inner design of software is unknown, for instance when dealing with proprietary, legacy, malicious, or recently updated software, it is possible to learn (reverse engineer) these models from observations of input-output data.

The obtained models can then be used for classification, prediction, and anomaly detection. In addition, they can then be used to provide insight into the software’s inner workings and locate implementation issues and vulnerabilities. I will present the basics of this learning process, its implementation in the Flexfringe tool developed by my group, and how it is used in several use-cases. Furthermore, I will present some of the challenges my group is working on. Most importantly, I will discuss open problems and ideas on how to improve the interpretability of models that have been learned from data, and how to use additional information during learning such as the executed source code.