
What we’re about
The Toronto Java Users Group provides presentations of exciting new technologies and socialization with your fellow developers in a relaxed atmosphere. Join us for dinner, drinks, and a talk on an interesting topic presented by one of your peers. We have been meeting regularly since 2009, and aim to provide a safe and inclusive space for all regardless of gender, religion, race, sexuality or identity.
Upcoming events (1)
See all- JSpecify and the Nullness Checker: avoiding Null Pointer Exceptions-Werner DietlFree Times Cafe, Toronto, ON
Null pointer exceptions are the bane of programmers and have been called the "billion dollar mistake". They happen even if you think hard about your code and test it thoroughly. The JSpecify standard https://jspecify.dev/ finally enables nullness specifications across the Java and Kotlin ecosystems. In this talk, we will discuss the causes of null pointer exceptions, including their relationship to issues such as object initialization, map keys, method contracts, Java 8’s Optional class, and dynamic checks. We will also discuss how JSpecify delineates the boundary between null annotated code and legacy code. You will learn about a simple, yet powerful, type system that prevents null pointer exceptions at compile time, turning informal reasoning into machine-checked certainty. We will illustrate these ideas using a freely-available tool called the Nullness Checker https://eisop.github.io/cf/manual/manual.html#nullness-checker that integrates with your development environment and toolchain and has found hundreds of bugs in millions of lines of well-tested code. Bring your tricky nullness issues and see how they can be solved!
About the venue
Free Times Cafe has bistro-style seating and a full food and drink menu. Please consider helping to support the venue by planning to have supper during the talk.Presenter Info
Werner Dietl https://ece.uwaterloo.ca/~wdietl/ is an associate professor in Electrical and Computer Engineering at the University of Waterloo, Canada. His research interests are in safe and productive software development. He combines theoretical results with practical tools so developers can create high-quality, trustworthy software and reduce the enormous impact of software defects.