000227019 001__ 227019
000227019 005__ 20190317000653.0
000227019 0247_ $$2doi$$a10.1145/2983990.2984004
000227019 022__ $$a0362-1340
000227019 02470 $$2ISI$$a000393581000048
000227019 037__ $$aCONF
000227019 245__ $$aJava and Scala's Type Systems are Unsound The Existential Crisis of Null Pointers
000227019 269__ $$a2016
000227019 260__ $$aNew York$$bAssoc Computing Machinery$$c2016
000227019 300__ $$a11
000227019 336__ $$aConference Papers
000227019 520__ $$aWe present short programs that demonstrate the unsoundness of Java and Scala's current type systems. In particular, these programs provide parametrically polymorphic functions that can turn any type into any type without (down) casting. Fortunately, parametric polymorphism was not integrated into the Java Virtual Machine (JVM), so these examples do not demonstrate any unsoundness of the JVM. Nonetheless, we discuss broader implications of these findings on the field of programming languages.
000227019 6531_ $$aUnsoundness
000227019 6531_ $$aJava
000227019 6531_ $$aScala
000227019 6531_ $$aNull
000227019 6531_ $$aExistential
000227019 6531_ $$aDesign
000227019 6531_ $$aLanguages
000227019 6531_ $$aReliability
000227019 6531_ $$aSecurity
000227019 700__ $$0246589$$aAmin, Nada$$g164625$$uEcole Polytech Fed Lausanne, Lausanne, Switzerland
000227019 700__ $$aTate, Ross
000227019 7112_ $$aACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)$$cAmsterdam, NETHERLANDS$$dNOV 02-04, 2016
000227019 773__ $$j51$$k10$$q838-848$$tAcm Sigplan Notices
000227019 8564_ $$s220114$$uhttps://infoscience.epfl.ch/record/227019/files/unsound-oopsla.pdf$$yPostprint$$zPostprint
000227019 909C0 $$0252187$$pLAMP$$xU10409
000227019 909CO $$ooai:infoscience.tind.io:227019$$pconf$$pIC$$qGLOBAL_SET
000227019 917Z8 $$x164625
000227019 937__ $$aEPFL-CONF-227019
000227019 973__ $$aEPFL$$rREVIEWED$$sPUBLISHED
000227019 980__ $$aCONF