Fuller Labs 231
+1 (508) 8315000 x5621
BS University of Maryland 1974
PhD University of Maryland 1982

The common thread running through my teaching and research is the use of mathematical methods---especially methods based on logic---in designing and building systems. Interesting systems are too complex to be understood by informal intuitions, and it can be very powerful to use formal tools to help understand whether the system we are actually building really fulfills our ideas about what it is supposed to do. Tools based on logic can help people build things in a way guided by specification, and indeed they can help people arrive at the right formal specification in the first place. My recent research applies these ideas to software security and reliability and in databases. In my undergraduate and graduate teaching I stress these ideas, and I also like to place special emphasis on presenting ideas carefully and clearly. The absolute best way to understand something is to explain it to someone else: this goes for teachers and students alike!

Scholarly Work

On the finite model property in order-sorted logic
Characterizing strong normalization in the Curien-Herbelin symmetric lambda calculus: extending the Coppo-Dezani heritage
Join minimization in XML-to-SQL translation: An algebraic approach
Addressed term rewriting systems: Application to a typed object calculus
Intersection types for explicit substitutions
The complexity of the certification of properties of stable marriage