[Colloq] Thesis Proposal by Richard Cobbe - Friday, Oct. 19

Rachel Kalweit rachelb at ccs.neu.edu
Fri Oct 12 09:44:43 EDT 2007


College of Computer and Information Science
presents

PhD Thesis Proposal by:
Richard Cobbe

Thesis Title:
Putting Java's Null in its Place


Friday, October 19, 2007
10:30am
366 West Village H

Abstract

Mainstream object-oriented languages include a null value that inhabits every object type.  Languages use `null' as a default value for uninitialized fields and variables, and programmers use `null' as an 
approximation to disjoint unions.  For instance, a `search' method returns `null' to indicate that the target value is not present.  Null's ubiquitous use in these circumstances and its place in the type system lead to several engineering problems.  The run-time error messages that result from improper uses of `null' are uninformative, programmers cannot express important invariants in the programming language, and null is a poor approximation to true disjoint unions. 

We claim that with two small changes to Java, we can remove the need for null from the language and reap significant engineering benefits by addressing the problems above.

Our strategy has two main parts, corresponding to the two primary uses of null.  We present an alternative constructor mechanism that unifies allocation and initialization, thereby ensuring that all fields and variables are initialized before use.  We also discuss two possible mechanisms for disjoint unions.

Advisor:   Matthias Felleisen 
Committee: Karl Lieberherr 
           Olin Shivers 
           Robert Muller (Boston College)




More information about the Colloq mailing list