Alexander Summers is an Associate Professor at the Department of Computer Science , University of British Columbia . He joined UBC in March 2020 after serving as a Senior Researcher (Oberassistent) at ETH Zurich from 2014-2020. His research bridges Programming Languages , Formal Methods , and Software Engineering , with a focus on automated verification tools for heap-based and concurrent programs. MSc Joint Mathematics and Computer Science, Imperial College London (2004) PhD Computer Science, Imperial College London (2009) Postdoc, ETH Zurich (2009-2014) Summers leads the Prusti Project , developing deductive verification tools for Rust, and contributes to the Viper Project for intermediate verification languages. His work addresses challenges in: Memory safety and concurrency verification Ownership models and aliasing control Automated reasoning with SMT solvers Resource-oriented programming specifications Debugging verification condition quantifiers Formal validation of verification infrastructure His research has been recognized with a Amazon Research Award and ACM SIGPLAN Distinguished Paper Awards . He teaches courses like Advanced Software Engineering and Program Verifiers and Program Verification , and supervises graduate students in formal verification and Rust-related research.
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.
Alexander J. Summers is an Associate Professor and Associate Head of Graduate Affairs in the Department of Computer Science at the University of British Columbia (UBC), where he joined in 2020. Prior to UBC, he was a senior researcher (Oberassistent) at ETH Zurich. His research focuses on program correctness, including specification and verification logics, type systems, and automated tools for deductive verification. He leads the Prusti Project, developing verification tools for the Rust programming language, and collaborates on the Viper Project, an intermediate verification language framework. Summers is also actively involved in teaching, offering courses on advanced software engineering and program verifiers. His research interests span formal methods, programming languages, and automated reasoning, with a particular emphasis on Rust and ownership-based systems. He has contributed to the development of verification tools like Viper and Prusti, which aim to enhance software reliability through deductive techniques. Summers has been recognized with awards such as the Distinguished Reviewer Award (ACM SIGPLAN) and the Amazon Research Award. Summers has published extensively in top venues like POPL, PLDI, and OOPSLA, with recent work addressing challenges in Rust's ownership model, formal verification frameworks, and automated reasoning techniques. His lab focuses on advancing the state of the art in program verification while maintaining strong ties to practical tool development and empirical studies of programming practices. He actively mentors students at UBC, including PhD and M.Sc. candidates, and has supervised postdoctoral researchers. Summers is also engaged in academic service, serving on program committees for conferences like OOPSLA and IJCAR, and contributes to the broader formal methods community through tool development and educational initiatives.
M. Anwar Hasan is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo, where he has been a faculty member since January 1993. He was promoted to Associate Professor with tenure in 1998 and to full Professor in 2002. At Waterloo, he is also a member of the Centre for Applied Cryptographic Research, the Center for Wireless Communications, and the VLSI Research group. He previously spent 1992 as a post-doctoral fellow at the University of Victoria. Dr. Hasan received his B.Sc. and M.Sc. degrees in electrical and electronic engineering and computer engineering, respectively, from the Bangladesh University of Engineering and Technology in 1986 and 1988. He earned his Ph.D. in electrical engineering from the University of Victoria in 1992. His research focuses on cryptographic computations and embedded systems, dependable and secure computing, computer and network security, and computer arithmetic and architecture. His work has particularly emphasized efficient implementations of cryptographic algorithms, especially elliptic curve cryptography, with attention to side-channel attack resistance and fault tolerance. He has made significant contributions to finite field arithmetic, which forms the mathematical foundation for many cryptographic systems. Dr. Hasan's recent publications demonstrate continued leadership in cryptography, with work spanning traditional cryptographic implementations, post-quantum cryptography (particularly isogeny-based approaches), blockchain applications, secure multi-party computation, and hardware optimization for cryptographic operations. His research maintains a strong focus on both theoretical foundations and practical implementations. Raihan Memorial Gold Medal President's Research Scholarship (awarded four times at University of Victoria) Faculty of Engineering Distinguished Performance Award (2000) Outstanding Performance Award (2004) As a member of the Centre for Applied Cryptographic Research, Dr. Hasan has led numerous research projects in cryptographic hardware and software implementations. He served as an associate editor of the IEEE Transactions on Computers from 2000 to 2004 and has been involved in program and executive committees for several conferences. His research has been supported by various grants that have enabled him to supervise numerous graduate students and postdoctoral fellows, though specific grant details are not provided in the source material. Dr. Hasan's laboratory work has focused on implementing efficient and secure cryptographic systems, particularly examining side-channel attacks and developing countermeasures. His research team has produced numerous technical reports through the Centre for Applied Cryptographic Research (CACR) at Waterloo, demonstrating a sustained research program in cryptographic engineering.
William J. Bowman is an Assistant Professor in the Department of Computer Science at the University of British Columbia (UBC), within the Faculty of Science. His research focuses on programming languages, compilers, and type systems, particularly in areas like type-preserving compilation, dependently typed languages, and verified software. He is part of the Software Practices Lab and has supervised Master's theses on topics such as Redex-Plus (a metanotation compiler), sized dependent types, and ANF translation for dependently typed systems. Research Interests include programming languages, software engineering, compilers, type theory, dependent types, and formal verification. His work emphasizes preserving semantic guarantees through compilation and ensuring safety in low-level code. He has contributed to foundational research in dependently typed compilation and practical tools like Wasm-precheck for WebAssembly. Publications: Over 20 peer-reviewed articles in venues like POPL, PLDI, and ACM conferences. Awards: Distinguished Reviewer Award and teaching recognition as an Incredible Instructor. Interdisciplinary Collaboration: Open to collaborations in research grants and bridging theory/practice gaps. His research also addresses ethical considerations in compilation (e.g., ACM Profits Considered Harmful critique) and explores connections between type universes and memory allocation. He teaches courses such as Compiler Construction (CPSC 411) and advanced topics in programming languages.
Sebastian Fischmeister is a Professor and NSERC/Magna Industrial Research Chair in Automotive Software for Connected and Automated Vehicles at the Department of Electrical and Computer Engineering, University of Waterloo. His research focuses on systems at the intersection of software technology, distributed systems, and formal methods, with applications in automotive systems, avionics, and medical devices. He has pioneered frameworks for scalable location-based pervasive computing and verifiable real-time communication schedules, contributing to the ASTM F29.21 standard. Education: Dipl.-Ing. in Computer Science (Vienna University of Technology, 2000), Ph.D. in Computer Science (University of Salzburg, 2002) Research Themes: Real-time embedded systems, runtime monitoring, security analysis, data analytics for validation, and performance evaluation. Scientific Awards: APART Stipend (2005) Ontario Early Researcher Award (2014) Multiple best paper and tool awards He is an ACM Distinguished Speaker and actively participates in organizing conferences such as ESCAR, RTSS, DATE, and ICPE. His work includes significant contributions to anomaly detection, cybersecurity in automotive networks, and runtime verification techniques under unreliable conditions.
Ivan Beschastnikh is an Associate Professor in the Department of Computer Science at the University of British Columbia (UBC), affiliated with the Faculty of Science. He leads research in distributed systems, software engineering, and formal methods, with a focus on privacy-preserving technologies, blockchain systems, and machine learning. His work bridges theoretical foundations and practical system implementations, emphasizing empirical validation and real-world deployment. Research Interests: His primary areas include distributed systems (e.g., consensus algorithms, transaction processing), formal methods for system correctness (e.g., PGo compiler for verified implementations), and privacy in federated learning and blockchain. He also explores interdisciplinary topics like AI ethics, human-computer interaction for developers, and system security. Key Projects: Includes PGo (formal specification to Go compiler), Biscotti (decentralized federated learning), Erlay (Bitcoin transaction relay optimization), and Teleoscope (text corpus analysis tool). His work has practical impact in blockchain scalability, secure multi-party ML, and distributed system validation. Awards: Recognized with the ASPLOS Distinguished Artifact Award, UBC Faculty Teaching Award, and ESEM Best Paper Award. His contributions span academic excellence, pedagogy, and collaborative research. Lab Affiliations: Active in the Systopia Lab and Software Practices Lab (SPL) , and collaborates with UBC’s Data Science Institute and Blockchain@UBC. He emphasizes interdisciplinary research, mentoring students in both theoretical and applied systems work.
Sean Kauffman is an Assistant Professor in the Department of Electrical and Computer Engineering at Queen's University, Faculty of Engineering and Applied Science. He holds his office in Walter Light Hall, Room 611, and can be reached at sean.k@queensu.ca or by phone at 613-533-6000 ext. 77360. Dr. Kauffman earned his Ph.D. in Electrical and Computer Engineering from the University of Waterloo before completing a two-year postdoctoral position at Aalborg University in Denmark. Notably, he returned to academia after accumulating over a decade of industry experience as a software engineer, with his final industry role being Principal Software Engineer at Oracle. His research expertise spans several critical areas in computer science and software engineering, with a particular focus on safety-critical software systems. His work significantly contributes to the fields of Formal Methods, Runtime Verification, Anomaly Detection, and Explainable AI. Dr. Kauffman has established productive research collaborations with prestigious organizations including NASA's Jet Propulsion Laboratory, the Embedded Systems Institute, QNX, and Pratt and Whitney Canada. Dr. Kauffman's research output demonstrates a consistent focus on event stream analysis, formal verification techniques, and the development of practical tools for system monitoring. His most notable contribution is the nfer language and toolset, which has become influential in the runtime verification community for its ability to abstract event streams into meaningful temporal hierarchies. His publications reveal a progression from theoretical foundations to practical implementations, with applications spanning spacecraft telemetry, autonomous vehicles, and embedded systems. Among his scientific contributions, Dr. Kauffman has received recognition for his work on the complexity analysis of nfer evaluation, developing methods for annotating control-flow graphs for formalized test coverage criteria, and creating frameworks for anomaly detection in embedded systems. His research has been published in top-tier venues including Science of Computer Programming, International Journal on Software Tools for Technology Transfer, and proceedings of major conferences like Runtime Verification and NASA Formal Methods. As an educator, Dr. Kauffman employs active learning techniques, productive failure approaches, and peer instruction to foster student engagement. His industry background informs his teaching approach, providing students with practical insights into real-world software engineering challenges, particularly in safety-critical domains. Dr. Kauffman leads the CritLab research group at Queen's University, which focuses on critical systems research. The lab develops tools and techniques for analyzing and verifying systems where failures could have severe consequences, with applications in aerospace, automotive, and other safety-critical domains. His work on the nfer language has spawned related projects including nvis for visualizing temporal interval hierarchies.