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.
Four Recent Publications
- Jeff Zarnett, Mahesh Tripunitara and Patrick Lam. ACM SACMAT 2010: Role-Based Access Control (RBAC) in Java via Proxy Objects using Annotations. [bib]
- Brian Demsky and Patrick Lam. ICSE 2010: Views: Object-Inspired Concurrency Control. [webpage, bib]
- Sebastian Fischmeister and Patrick Lam. To appear in IEEE Transactions on Industrial Informatics. Time-Aware Instrumentation of Embedded Software. Accepted August 2010.
- Viktor Kuncak, Patrick Lam, Karen Zee and Martin Rinard. Transactions on Software Engineering, December 2006. "Modular Pluggable Analyses for Data Structure Consistency." [pdf, bib].
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.
