Celsius: A Model for Safe Initialization of Objects

Accessing uninitialized data during object initialization is a common and subtle programming error. This error is either not prevented by mainstream languages, like in Java, C++, Scala, or it is prevented by greatly restricting initialization patterns, like in Swift. In this paper, we propose a model called _Celsius_ for safe and modular initialization of objects, and prove its soundness. We extend the model and implement a prototype in Scala. The experiments on several real-world Scala projects show that the design requires few programmer annotations.


Year:
Jan 09 2020
Keywords:
Laboratories:


Note: The status of this file is: Anyone


 Record created 2020-01-09, last modified 2020-10-25

Fulltext:
Download fulltext
PDF

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)