Contributor
Nikhil Deepak Shinde

Erroneous use of Java 8's Optional class


Mentors
Michael Ernst, Mark Roberts
Organization
Checker Framework

Traditionally, java programs use null to represent the absence of value. Java 8 introduced Optional class, a container that contains a reference to T (non null) or is empty. Using Optional Class solves the problem of null pointer exceptions but creates new problems that may crash your program. The goal of this project is to create a new type system that warns programmers who have misused Optional and expose latent errors, which would ultimately lead to proper use of Optional class.