SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Tue 17 Nov 2020 14:00 - 14:20 at OOPSLA/ECOOP - T-4
Wed 18 Nov 2020 02:00 - 02:20 at OOPSLA/ECOOP - T-4

Every newly created object goes through several initialization states: starting from a state where all fields are uninitialized until all of them are assigned. Any operation on the object during its initialization process, which usually happens in the constructor via \emph{this}, has to observe the initialization states of the object for correctness, i.e.~only initialized fields may be used. Checking safe usage of \emph{this} statically, without manual annotation of initialization states in source code, is a challenge, due to aliasing and virtual method calls on \emph{this}.

Mainstream languages either do not check initialization errors, like Java, C++, Scala, or they defend against them by not supporting useful initialization patterns, such as Swift. In parallel, past research has shown that safe initialization can be achieved for varying degrees of expressiveness but by sacrificing syntactic simplicity.

We approach the problem by upholding \emph{local reasoning} of initialization which avoids whole-program analysis, and we achieve \emph{typestate polymorphism} via subtyping. On this basis, we put forward a novel type-and-effect system that can effectively ensure initialization safety while allowing flexible initialization patterns with almost zero annotation burden.

Tue 17 Nov
Times are displayed in time zone: Central Time (US & Canada) change

13:00 - 14:20: T-4OOPSLA at OOPSLA/ECOOP +12h
13:00 - 13:20
Talk
OOPSLA
Shaked BrodyTechnion, Uri AlonTechnion, Eran YahavTechnion
Pre-print
13:20 - 13:40
Talk
OOPSLA
André PacakJGU Mainz, Sebastian ErdwegJGU Mainz, Tamás Szabóitemis / JGU Mainz
13:40 - 14:00
Talk
OOPSLA
Anders MøllerAarhus University, Benjamin Barslev NielsenAarhus University, Martin Toldam TorpAarhus University
DOI
14:00 - 14:20
Talk
OOPSLA
Fengyun LiuEPFL, Switzerland, Ondřej LhotákUniversity of Waterloo, Aggelos BiboudisEPFL, Switzerland, Paolo G. GiarrussoBedRock Systems, Martin OderskyEPFL, Switzerland

Wed 18 Nov
Times are displayed in time zone: Central Time (US & Canada) change

01:00 - 02:20: T-4OOPSLA at OOPSLA/ECOOP
01:00 - 01:20
Talk
OOPSLA
Shaked BrodyTechnion, Uri AlonTechnion, Eran YahavTechnion
Pre-print
01:20 - 01:40
Talk
OOPSLA
André PacakJGU Mainz, Sebastian ErdwegJGU Mainz, Tamás Szabóitemis / JGU Mainz
01:40 - 02:00
Talk
OOPSLA
Anders MøllerAarhus University, Benjamin Barslev NielsenAarhus University, Martin Toldam TorpAarhus University
DOI
02:00 - 02:20
Talk
OOPSLA
Fengyun LiuEPFL, Switzerland, Ondřej LhotákUniversity of Waterloo, Aggelos BiboudisEPFL, Switzerland, Paolo G. GiarrussoBedRock Systems, Martin OderskyEPFL, Switzerland