Resource Usage Protocols for Iterators

C. Haack, C. Hurlin

    Research output: Contribution to journalArticleAcademicpeer-review

    12 Citations (Scopus)
    103 Downloads (Pure)


    We discuss usage protocols for iterator objects that prevent concurrent modifications of the underlying collection while iterators are in progress. We formalize these protocols in Java-like object interfaces, enriched with separation logic contracts. We present examples of iterator clients and proofs that they adhere to the iterator protocol, as well as examples of iterator implementations and proofs that they implement the iterator interface.
    Original languageUndefined
    Pages (from-to)55-83
    Number of pages29
    JournalJournal of object technology
    Issue number4
    Publication statusPublished - Jun 2009


    • Separation Logic
    • Java
    • IR-67470
    • EWI-15322
    • METIS-263833
    • Iterator

    Cite this