Invariant Specification and Multi-Staging using Java Annotations
Where: Rice University Computer Science Department, Corporate Affiliates Meeting 2008
When: October 16, 2008
Java annotations allow programmers to attach metadata to programs. During normal execution, the annotations are ignored, but in contrast to comments in the source code, annotations can be manipulated programmatically at compile- or run-time. We propose two extensions — subtyping and expression annotations — for consideration in the Java specification request for annotations, and show how annotations can be used to express program invariants and multi-stage programs.