Werner Dietl
wdietl@uwaterloo.ca, Room EIT 4007
This is the homepage of Werner Dietl. I am an associate professor in Electrical and Computer Engineering, University of Waterloo.
From January to July 2017 I was a Visiting Researcher at Google.
Previously, I worked with Prof. Michael D. Ernst and the SE.CS and WASP research groups at Computer Science & Engineering, University of Washington.
Even earlier, I was a research and teaching assistant at the Chair of Programming Methodology, ETH Zurich, working on my doctoral thesis under the supervision of Prof. Peter Müller.
Research Interests
My research interests are in safe and productive software development. I combine theoretical results with practical tools so developers can create high-quality, trustworthy software and reduce the enormous impact of software defects. To achieve this goal, I combine my knowledge of programming languages and software engineering with the verification, security, and systems expertise of my collaborators.
-
Light-weight, optional type systems: Checker Framework; Live Demo!
I’m a JavaOne Rockstar speaker.
Acknowledgments
I acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC).
In 2019 I received an Early Researcher Award from the Government of Ontario.
I gratefully received a Fall 2015 Google Research Award and financial support from Amazon Web Services.
Previous projects
-
Language support for program verification, trusted components, MultiJava and the Java Modeling Language
Prospective students
I’m looking for great students to grow my group!
-
ECE 499 or SE 499 projects
-
MASc students
-
PhD students
-
MITACS Globalink projects
-
Fourth Year Design Projects (FYDP)
If you’re already in Waterloo, contact me. Otherwise, follow the instructions given with the links above.
Upcoming talks
Recent talks
-
-
Preventing Errors Before They Happen - The Checker Framework (Tutorial)
-
Using Type Annotations to Improve Your Code (Birds-of-a-Feather)
-
-
JAX 2019, Preventing Null Pointer Exceptions at Compile Time and Implement your own Type System, today!
Students
-
Di Wang (MASc), since May 2020
-
Lian Sun (MASc), since September 2019
-
Weitian Xing (MASc), since May 2019
-
Puneet Gill (MASc, co-supervised with Mahesh V. Tripunitara), since January 2019
-
Jenny Xiang (MASc), since May 2018
Teaching
Fall 2020:
-
Fundamentals of Programming. ECE150.
-
Software Architecture and Design. SE464.
More information
-
I am a member of the Programming Languages Group (PLG), Waterloo Formal Methods group, and the Cybersecurity and Privacy Institute.
-
I am cross-appointed to the David R. Cheriton School of Computer Science.
-
I am on the Formal Techniques for Java-like Programs (FTfJP) Steering Committee since 2013 and was the chair from 2014 to 2017 and from 2018 to 2019 (interim).
Archive
-
-
Implement your own type system, today!
-
Preventing Errors Before They Happen - The Checker Framework (Tutorial)
-
Using Type Annotations to Improve Your Code (Birds-of-a-Feather)
-
-
JAX 2018, Preventing Null Pointer Exceptions at Compile Time
-
European Conference on Object-Oriented Programming (ECOOP) 2016 Program Committee
-
International Symposium on Engineering Secure Software and Systems (ESSoS) 2016 Program Committee
-
Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) 2015
-
Program committee: OOPSLA 2015
-
Program committee: Eclipse Technology eXchange 2015
-
-
Talk: The Checker Framework: pluggable static analysis for Java at Tools for Automatic Program Analysis (TAPAS)
-
Talks: Preventing Errors Before They Happen and Using Type Annotations to Improve Code Quality at JavaOne 2014