skip to main content
10.1145/1181195.1181212acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Iterator specification with typestates

Published:10 November 2006Publication History

ABSTRACT

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.

References

  1. M. Barnett, R. DeLine, M. Fähndrich, K. R. M. Leino, and W. Schulte. Verification of object-oriented programs with invariants. Journal of Object Technology, 3(6):27--56, June 2004.Google ScholarGoogle ScholarCross RefCross Ref
  2. K. Bierhoff and J. Aldrich. Lightweight object specification with typestates. In ACM Symposium on the Foundations of Software Engineering, pages 217--226, Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Boyland. Checking interference with fractional permissions. In R. Cousot, editor, Static Analysis: 10th International Symposium, volume 2694 of Lecture Notes in Computer Science, pages 55--72. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. DeLine and M. Fähndrich. Typestates for objects. In European Conference on Object-Oriented Programming. Springer, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  5. J.-Y. Girard. Linear logic. Theoretical Computer Science, 50:1--102, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06-rev28, Iowa State University, Department of Computer Science, July 2005.Google ScholarGoogle Scholar
  7. R. E. Strom and S. Yemini. Typestate: A programming language concept for enhancing software reliability. IEEE Transactions on Software Engineering, 12:157--171, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Iterator specification with typestates

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  SAVCBS '06: Proceedings of the 2006 conference on Specification and verification of component-based systems
                  November 2006
                  87 pages
                  ISBN:159593586X
                  DOI:10.1145/1181195

                  Copyright © 2006 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 10 November 2006

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  SAVCBS '06 Paper Acceptance Rate14of14submissions,100%Overall Acceptance Rate37of46submissions,80%

                  Upcoming Conference

                  FSE '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader