Affiliation:
1. Microsoft Research, Redmond, WA
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference19 articles.
1. Enforcing high-level protocols in low-level software
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.]] 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. LCLint
4. The design of a class mechanism for Moby
Cited by
42 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Usability-Oriented Design of Liquid Types for Java;2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE);2023-05
2. Containerless Plurals: Separating Number from Type in Object-Oriented Programming;ACM Transactions on Programming Languages and Systems;2022-09-21
3. Verifying Whiley Programs with Boogie;Journal of Automated Reasoning;2022-03-20
4. Relational nullable types with Boolean unification;Proceedings of the ACM on Programming Languages;2021-10-20
5. Putting the semantics into semantic versioning;Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software;2020-11-17