Over the past few decades, computers have transformed from special-purpose and standalone number-crunching processors to networked devices interacting with the physical world. Realizing the full potential of such cyber-physical systems requires that advances in processing and communication technology are matched by advances in tools for designing such systems in a cost-effective manner. Indeed, none of us would be willing to drive an autonomous car, or use a pacemaker that can be remotely programmed by our physician, if we are not guaranteed safety under all conceivable conditions. The current practice in system design relies primarily on simulation that ensures the system works as intended only on a few scenarios selected by the design team. Formal verification, on the other hand, promises to catch bugs in corner cases by exploring the space of all possible executions of the system.
The verification problem is inherently computationally intractable, and yet researchers have made steady progress in developing methodology, algorithms, and tools for the verification of hardware and software systems. In particular, model checkinga technique for symbolically exploring the space of all reachable states of a system modelis considered a success story for theory in practice, due its adoption in checking correctness of multiprocessor designs and device driver code. In these applications, the model is purely discrete. To analyze a cyber-physical system such as a pacemaker, we need to consider the discrete software controller interacting with the physical world, which is typically modeled by differential equations. Developing effective symbolic verification technology for such mixed discrete-analog modelsalso called hybrid systemshas proved to be a challenging problem, attracting a lot of research both in formal methods and in control theory communities in recent years. The following paper by Althoff et al. reports a major milestone in this quest.