Overview
What I study
I study how to make computer systems safer, more reliable, and easier to trust. Many of these systems are hidden inside cars, trains, aircraft, home appliances, and other tools we use every day.
My research covers the basic software that runs these systems, as well as ways to test them and check their safety and security. I work with researchers and engineers so that the ideas can be useful in real products and services.
Overview
Why this matters now
In the past, many embedded systems worked mostly on their own. Today, they are often connected to networks, cloud services, and other systems around them.
Because of that change, it is no longer enough to study only one device at a time. We also need to understand larger systems made from many parts that affect one another.
Overview
Current topics
Current topics include dependable mobility platforms, secure IoT services, software-defined vehicles, fuzzing, and resilience for mobility services and other large connected systems.
A common goal across these topics is to support systems not only when they are designed, but also while they are being used and updated over time.
Overview
How this research is approached
One approach is to focus on a single embedded system and build it carefully from components whose behavior is well understood. This makes it possible to reason step by step about performance and quality.
Another approach is to study larger systems that include unknown or changing parts, as well as systems that interact with people and society. In those cases, we try to keep the system in as good a state as possible and explain what is happening even when perfect understanding is impossible.