Our research spans all areas of dependable computing. In particular, we develop computational proof methods (a.k.a. formal methods) and machine learning techniques to aid the construction of safe, reliable and secure systems. Applications of our work run the gamut from electronic design automation, through programmer’s assistant, to self-driving cars. Among these, a current focus of our research is on human-in-the-loop systems. These are semi-autonomous systems that require human input in one form or another (e.g. supervision, interaction, instruction, or demonstration), and the human input is central to the correct working of these systems. Check out our research page for more information.