I'm looking for students. If you are interested in doing research with me at the University of Waterloo, please contact me and we can see if we have mutual interests. Be sure to provide some evidence that you know something about my research interests in your email!
Research
My research aims to develop tools and techniques to help developers produce more reliable software systems. In particular, I am developing (1) lightweight specification languages, which enable developers to state key properties of their software, and (2) static analysis techniques, which enable compilers to verify that these properties actually hold.
Some of my ongoing and past projects:
- DSFinder: applying straightforward static analysis techniques to see how many data structures Java programs implement in practice. (i.e. How much shape analysis do you need to do if you want to understand Java programs?)
- Views: with Brian Demsky, a novel language extension which enables developers to declaratively specify fine-grained (sub-object-level) locking policies.
- Static analysis of tracematches: verifying that specified sequences of program events never occur in any execution.
- Hob: verifying that all executions preserve certain set-based specifications.
- Tokens: embedding design information into Java source code.
You may also be interested in a more detailed research overview.
Three Selected Publications
- Viktor Kuncak, Patrick Lam, Karen Zee and Martin Rinard. Transactions on Software Engineering, December 2006. "Modular Pluggable Analyses for Data Structure Consistency." [pdf, bib].
- Patrick Lam, Viktor Kuncak and Martin Rinard. AOSD 2005: Cross-cutting Techniques in Program Specification and Analysis [pdf, bib].
- Patrick Lam and Martin Rinard. ECOOP 2003: A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information [pdf, bib]. The slides are also available. ([ps] [pdf])
I also have a full publications list, which includes posters and publications.
Mailing Address and Phone
- Patrick Lam
- Department of Electrical and Computer Engineering
- University of Waterloo
- 200 University Avenue West
- Waterloo, Ontario, Canada N2L 3G1
- Office Phone: (519)888-4567 extension 38017
Friends and Collaborators
- Eric Bodden
- Sebastian Fischmeister
- Alex Ghitza
- Laurie Hendren (HeroECS robotics team)
- Viktor Kuncak
- Karen Zee
- Dave Wentzlaff's Christmas Tree Maps numbers search engine
Not me
Unfortunately, I'm not the only person named Patrick Lam.
