Loading...
research report
Celsius: A Model for Safe Initialization of Objects
January 9, 2020
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.
Loading...
Name
oopsla19.pdf
Access type
openaccess
Size
583.03 KB
Format
Adobe PDF
Checksum (MD5)
8b196573456f85b65828a996c75641ed