I am interested in techniques that make it easier to build software
that "does what you expect" and in determining,
after you've built that software, what it actually "does"
when you use it.
Other people keep track of the papers I've published, but it usually
takes some months for these sources to be updated. If you are interested
in a recent paper send me an email.
One of the best parts of my job involves working with bright, motivated
students. I learn at least as much from them as they do from me.
Here are two interesting explanations of what a PhD education is
all about from quite different perspectives.
I felt both the grind, explained by Philip, and the inspiration, that
is implicit in Matt's explanation, in my education. My aim is to minimize
grind and maximize inspiration for my own students; some grind is unavoidable (i.e., research is hard or someone would have already done it).
I found this book when I was in grad school and it was full of
guidance about how to pursue scientific discovery.
I should find time to reread it on a regular basis.
Graduated Doctoral Students
- Haitao Zhu PhD 2013 (co-advised with Steve Goddard, first job with Lemko Corporation)
- Elena Sherman PhD 2012 (first job Asst. Prof. at Boise State University)
- Du Li PhD 2012 (co-advised with Witawas Srisa-an, first job Post-doc at CMU)
- Jiangfan Shi PhD 2012 (co-advised with Myra Cohen, first job with Microsoft)
- Rahul Purandare PhD 2011 (first job Asst. Prof. at IIIT-Delhi)
- Suzette Person PhD 2009 (first job as Researcher at NASA Langley Research Center, now Assoc. Prof. of Practice at the University of Nebraska-Lincoln)
- Oksana Tkachuk PhD 2008 (first job as Research Scientist at Fujitsu Laboratories, now at NASA Ames Research Center)
- Robby, PhD 2004 (co-advised with John Hatcliff, first job Asst. Prof. at Kansas State University)
- Corina Pasareanu, PhD 2001 (first job as Researcher at NASA Ames Research Center)
I believe that the field of software engineering
develops most effectively when people build on each others
work through a cooperative, rather than a competitive, process.
I work to support that process by helping to organize
and run meetings and journals where people can report on and share their work.
- Program (co)chair of OOPSLA (2012), ICSE (2008), FASE (2007),
FSE (2004), PASTE (2002), and SPIN (2001),
- General chair of ISSTA (2011).
- Steering commitee of SPLASH (2012-2015), ISSTA (2009-2016), ICSE (2004-2010),
ETAPS (2006-2008), FASE (2006-2008), PASTE (2002-2004), and SPIN (2001-2003),
- Editorial boards for
IEEE TSE (Editor in Chief 2014-present, Associate Editor 2006-2009),
CACM - Research Highlights (2013-2016),
ACM TOPLAS (Associate Editor 2009-2015),
Springer STTT (co-Editor in Chief 2003-2008)
- ACM SIGSOFT (Secretary/Treasurer 2005-2009, Vice Chair 2009-2012)