Object Initialization
At the Java level, object creation and initialization by constructor functions is atomic.
At the JVM level it is not atomic.
new <foo_class>
...
invokespecial <foo_class.init>
Dataflow is used to verify objects have been properly initialized.
- new ? <init> ? super.<init>
- Verify a restricted set of programs.
- one uninitialized object per textual new operation