ACM Home Page
Please provide us with feedback. Feedback
Declaring and checking non-null types in an object-oriented language
Full text PdfPdf (216 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications table of contents
Anaheim, California, USA
SESSION: Analysis table of contents
Pages: 302 - 312  
Year of Publication: 2003
ISBN:1-58113-712-5
Also published in ...
Authors
Manuel Fähndrich  Microsoft Research, Redmond, WA
K. Rustan M. Leino  Microsoft Research, Redmond, WA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 86,   Citation Count: 25
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/949305.949332
What is a DOI?

ABSTRACT

Distinguishing non-null references from possibly-null references at the type level can detect null-related errors in object-oriented programs at compile-time. This paper gives a proposal for retrofitting a language such as C# or Java with non-null types. It addresses the central complications that arise in constructors, where declared non-null fields may not yet have been initialized, but the partially constructed object is already accessible. The paper reports experience with an implementation for annotating and checking null-related properties in C# programs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
ECMA. Standard ECMA-334: C# Language Specification, December 2002. Available on the web as http://www.ecma-international.org/publications/files/ecma-st/Ecma-334.pdf.
3
 
4
Manuel Fähndrich and K. Rustan M. Leino. Heap monotonic typestates. In Proceedings of the 1st International Workshop on Aliasing, Confinement and Ownership, July 2003.
5
 
6
7
8
 
9
 
10
 
11
Barbara Liskov, Dorothy Curtis, Mark Day, Sanjay Ghemawat, Robert Gruber, Paul Johnson, and Andrew C. Myers. Theta reference manual, preliminary version. Memo~88, Programming Methodology Group, MIT Laboratory for Computer Science, February 1995. Available on the web at http://www.pmg.lcs.mit.edu/Theta.html.
 
12
 
13
14
15
 
16
Simon Peyton Jones, John Hughes, Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, and Philip Wadler. Haskell 98 report, February 1999. Available on the web as http://haskell.org/onlinereport.
 
17
Chris Smith. Java pointifications: Nullability constraints, June 2001. Available on the web as http://cdsmith.twu.net/professional/java/pontifications/nonnull.html.
 
18
 
19
Raymie Stata. Improving the safety of Java, December 1995. Available on the web as http://larch-www.lcs.mit.edu:8001/\homedirraymie/Java/javachangessafety.html.

CITED BY  25

Collaborative Colleagues:
Manuel Fähndrich: colleagues
K. Rustan M. Leino: colleagues