The thread that runs through my work is understanding how we understand and gain confidence in software in a modular, compositional fashion, through some combination of analysis (broadly construed to include testing as well as various static checking techniques) and design. I'm increasingly interested in interplay between synthesis (generating something from a spec) and analysis (checking consistency between a spec and an implementation). The synthesis part is related to an old interest in architectural design of software, which I've recently revisited in connection with assistive cartography.
Some things I've been interested in recently:
Book: Software Testing and Analysis
Mauro Pezzè and I wrote Software Testing and Analysis: Process, Principles, and Techniques. It is available at Amazon and other online bookstores, including Powells and Barnes and Noble. German and Portuguese translations are also available.
We hope this will be the book that advisors recommend to new graduate students who need a basic, broad background in testing and analysis, as well as a standard text in senior and beginning graduate courses.
We appreciate the useful comments (and corrections!) from many of you, and are pleased that the book is in use around the world and in some of the top centers of software engineering research.
I have served as program chair of ISSTA 1998, program co-chair of ICSE 2002, general chair of SIGSOFT FSE 2006, and general chair of ISSTA 2015, in addition to a number of other organizational roles in conferences and workshops.
I am a fairly serious coffee drinker, and also roast coffee at home. Currently I use the heat gun and dog bowl method.
I am a recreational bicycle rider. Event rides I've enjoyed include the Seattle to Portland bicycle classic (one day version in 2004 and 2005); the Blackberry bRamble starting right here in Eugene, where in recent years I've driven SAG wagon; the Covered Bridges tour from Albany (5 times); the Peach of a Century (3 times); the Monster Cookie metric century; the Mount Hood Challenge Century (which seems to have been held for the first and last time in 2004); and the Torture 10,000 century east of Portland (also discontinued, alas).
Highlights of some prior years:
- 2007: A Century ride each month, for the UMCA year-rounder challenge.
- 2008: Several great rides in Lugano, Switzerland described in the blog I kept while there. Oregon seems kind of flat now, and oddly devoid of castles.
- 2009: Lots of centuries, including a stretch of over three months in which I rode a century every weekend. Joined Oregon Randonneurs and rode my first brevet. I also broke 15 minutes in the spring hill climb race series, and was first in my age class all three times I entered.
- 2010: Fewer centuries, but rode my first 400k (250 miles) brevet, and rode a good deal more with Cyndi and Adrian.
- 2011: My first full “super randonneur” (SR) series: 200k, 300k, 400k, and 600k in a season.
- 2012, 2013, 2014: A full SR series each year, my first 1000km brevet in 2013, and my first 1200km brevet in 2014, both with Seattle International Randoneurs (SIR). The 1000 was from Bremerton, WA to Klamath Falls, OR via Astoria, Reedsport, and Crater Lake. The Cascade 1200 was a loop from near Seattle over Elk Pass, Old Man Pass, Lolo Pass, and Washington Pass.
- 2015: An SR series to qualify for Paris-Brest-Paris (PBP), then rode PBP in August, finishing in 88 hours 28 minutes.
Rides in the area:
- Mary's Peak
- Willamette Valley Scenic Bikeway.
- Eugene to Beaverton, available to Randonneurs USA (RUSA) members as permanent route 1177 owned by Bill Alsup.
- Five Rivers (Walterville, Sweet Home, Brownville loop), available to RUSA members as permanent 5076, owned by me.
- Alsea Loop, available to RUSA members as permanent 6000, owned by me.
- Eugene to Florence via Triangle Lake, available to RUSA members as permanent populaire 2318, owned by me.
There are many other excellent routes starting in or near Eugene, ranging from under 20 to over 100 miles, and from very flat to quite hilly. If you are a cyclist visiting Eugene (especially if you're a computer scientist), I'd love to make a few suggestions or maybe go out on a ride with you, schedule permitting.
Here is why I always wear a helmet.