Java iterators are notoriously hard to specify. This paper applies a general typestate specification technique that supports several forms of aliasing to the iterator problem. The presented specification conservatively captures iterator protocols and consistency rules. Two limitations of the specification are discussed.
Kevin BierhoffJonathan Aldrich
Kevin BierhoffJonathan Aldrich
Sébastien PatteVirgile Prévosto