University of Oxford

Name:Daniel Kroening
Designation:Professor, University of Oxford
Title:Race Analysis for SystemC using Model Checking

Abstract: SystemC is a system-level modelling language that offers a wide range of features to describe concurrent systems at different levels of abstraction. The SystemC standard permits simulators to implement a deterministic scheduling policy, which often hides concurrency-related design flaws. I will discuss a compiler for SystemC that integrates a very precise formal race analysis by means of Model Checking. The key insight to make the Model Checking engine scale is to apply it only to tiny fractions of the SystemC model. We show that the outcome of the analysis is not only valuable to speed up simulation, but also eliminates redundant context switches at runtime to diagnose concurrency bugs.

Biography:  Daniel Kroening received the M.E. and doctoral degree in computer science from the University of Saarland, Saarbrucken, Germany, in 1999 and 2001, respectively. He then joined the Model Checking group in the Computer Science Department at Carnegie Mellon University, Pittsburgh PA, USA, in 2001 as a Post-Doc. He was an assistant professor at the Swiss Technical Institute (ETH) in Zurich, Switzerland, from 2004 to 2007. He is now Professor of Computer Science at the Computer Science Department at the University of Oxford. His research interests include automated formal verification of hardware and software systems, decision procedures, embedded systems, and hardware/software co-design.

Formal Verification Seminar Presentation                  Video Presentation