
About
Patrick Lam is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo, with a cross-appointment to the Cheriton School of Computer Science. His research focuses on applications of programming languages and static analysis to software engineering challenges, emphasizing verifiable software specifications and program understanding. Dr. Lam has held significant grants from NSERC and is recognized for his impactful work, including the First Decade High Impact Paper award for his Soot framework.
Education:
- Doctorate in Computer Science, Massachusetts Institute of Technology, 2007
- Master's in Computer Science, McGill University, 2000
- Bachelor's in Joint Honours Mathematics and Computer Science, McGill University, 1999
Research Interests: His primary areas include static program analysis, verifiable software specifications, and compiler design, with a focus on linking high-level software designs to low-level implementations. He explores techniques like lightweight specifications and domain-specific languages to enhance software reliability and efficiency. Recent work also addresses empirical studies of programming practices and security through modularization.
Publications: Dr. Lam's recent publications span advancements in static analysis tools (e.g., WasmWalker for WebAssembly), formal verification of code generated by AI tools like GitHub Copilot, and empirical studies on C++ immutability usage. His work bridges theoretical programming language research with practical software engineering applications, emphasizing tools for developer productivity and code reliability.
Awards and Recognition:
- First Decade High Impact Paper recognition for "Soot – A Java Optimization Framework" (2010)
Teaching and Grants: He has taught courses such as CS 447, ECE 453, and ECE 459 on software testing and performance programming. Active in grant-funded research, he secured NSERC Engage Grant (2013) and an ongoing NSERC Discovery Grant (2013–2018). Lam has also advised graduate students and contributed to the Software Engineering Program at Waterloo as its Director (2016–2019).
Labs and Teams: His research group explores topics in program analysis and software engineering, with collaborations on projects like abstract debugging tools (GobPie) and static analysis frameworks (Soot). He maintains an open-source repository on GitHub, contributing to educational materials and research tools.
Find Patrick Lam elsewhere
Related Searches
You Might Also Like
Mei NagappanUniversity of Waterloo · Assistant Professor
Werner DietlBrown University · Associate Professor
Meiyappan NagappanUniversity of Waterloo · Associate Professor- AAakash AhmadLancaster University · Lecturer
Sarah NadiNew York University · Associate Professor
Douglas Wilhelm HarderUniversity of Waterloo · Teaching Professor