About

At last I’m home again! I did my undergraduate studies here at Stellenbosch and after being away for about 15 years I’m now appointed as a Full Professor of Computer Science at Stellenbosch University.

I did my Ph.D. under Professor Howard Barringer at the University of Manchester where I spent about equal time at Old Trafford than in the office. I investigated how to do efficient on-the-fly model checking for CTL*, which was also the last time (June 1998) I touched a branching temporal time logic. After Manchester I went to the West Coast (aka the Best Coast), more specifically Mountain View, CA, to join the Research Institute for Advanced Computer Science (RIACS). My day job involved doing research within the Robust Software Engineering group at NASA Ames Research Center. During this time I was the main research lead for the Java PathFinder (JPF) project, a model checker for Java. I also became the Area Lead for Automated Software Engineering at RIACS. JPF got open-sourced in 2004 and under the watchful eye of Peter Mehlitz is going from strength to strength and has a large research (and industry) following.  My research interests started focussing more on testing and specifically on how to use symbolic execution to generate tests and find errors. This work is done jointly with my long-time colleague Corina Pasareanu and for our contribution we won the 2007 HVC award.

In 2007 I left to join a startup, called SEVEN Networks. I essentially wanted to see how software was being developed in the real-world. SEVEN is a leader in mobile email, and more recently in the idea of push anything. I focussed on doing performance testing and finding new ways to discover subtle errors in large user bases.

In June 2009 I started at Stellenbosch where I’m currently the head of the Computer Science Division. My research interests is still mostly focussed on using symbolic execution for testing and bug hunting, but I’m also starting to work on doing cool apps for Android (ok maybe more of a hobby so far).