I belong to the following research groups:
Although I teach artificial intelligence, constraint solving and system security, my interests are much more diverse than that, ranging from high-level declarative programming to low-level assembly code.
A reoccurring theme of my work is abstract interpretation in which all paths through a program are systematically examined so as automatically derive information for optimising a program for, say, time or energy. Abstract interpretation is also increasingly used to search a program for bugs, such as security holes, which another interest of mine.
Recently I have been working on geometric algorithms, reverse engineering and the automatic synthesis of transfer functions.