Masked types for sound object initialization

This paper presents a type-based solution to the long-standing problem of object initialization. Constructors, the conventional mechanism for object initialization, have semantics that are surprisi...

[1]  Robert DeLine,et al.  Typestates for Objects , 2004, ECOOP.

[2]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[3]  David Hovemeyer,et al.  Evaluating and tuning a static analysis to find null pointer bugs , 2005, PASTE '05.

[4]  Jonathan Aldrich,et al.  Modular typestate checking of aliased objects , 2007, OOPSLA.

[5]  John H. Reppy,et al.  The design of a class mechanism for Moby , 1999, PLDI '99.

[6]  David K. Gifford,et al.  Polymorphic effect systems , 1988, POPL '88.

[7]  Atsushi Igarashi,et al.  On Inner Classes , 2000, ECOOP.

[8]  David Hovemeyer,et al.  Finding bugs is easy , 2004, SIGP.

[9]  Robert E. Strom,et al.  Typestate: A programming language concept for enhancing software reliability , 1986, IEEE Transactions on Software Engineering.

[10]  Torbjörn Ekman,et al.  Pluggable checking and inferencing of nonnull types for Java , 2007, J. Object Technol..

[11]  Songtao Xia,et al.  Establishing object invariants with delayed types , 2007, OOPSLA.

[12]  Karl Crary,et al.  From system F to typed assembly language , 1999 .

[13]  Lori L. Pollock,et al.  Inter-class def-use analysis with partial class representations , 1999, PASTE '99.

[14]  Barbara Liskov,et al.  A language extension for expressing constraints on data access , 1978, CACM.

[15]  Lori L. Pollock,et al.  The Construction of Contextual Def-Use Associations for Object-Oriented Systems , 2003, IEEE Trans. Software Eng..

[16]  K. Rustan M. Leino,et al.  Data groups: specifying the modification of extended state , 1998, OOPSLA '98.

[17]  Robert DeLine,et al.  Enforcing high-level protocols in low-level software , 2001, PLDI '01.

[18]  Eran Yahav,et al.  Effective typestate verification in the presence of aliasing , 2006, TSEM.

[19]  Don Syme Initializing Mutually Referential Abstract Objects: The Value Recursion Challenge , 2006, Electron. Notes Theor. Comput. Sci..