skip to main content
10.1145/286936.286953acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free Access

Data groups: specifying the modification of extended state

Published:01 October 1998Publication History

ABSTRACT

This paper explores the interpretation of specifications in the context of an object-oriented programming language with subclassing and method overrides. In particular, the paper considers annotations for describing what variables a method may change and the interpretation of these annotations. The paper shows that there is a problem to be solved in the specification of methods whose overrides may modify additional state introduced in subclasses. As a solution to this problem, the paper introduces data groups, which enable modular checking and rather naturally capture a programmer's design decisions.

References

  1. AdB94.Pierre America and Frank de Boer. Reasoning about dynamically evolving process structures. Formal Aspects of Computing, 60):269- 316, 1994.Google ScholarGoogle Scholar
  2. AL97.Mam'n Abadi and K. Rustan M. Leino. A logic of object-oriented programs, in Michel Bidoit and Max Dauchet, editors, Theory and Practice of Software Development: Proceedings / TAP- SOFT '97, 7th International Joint Conference CAAP/FASE, volume 1214 of Lecture Notes in Computer Science, pages 682-696. Springer, April 1997. Google ScholarGoogle Scholar
  3. CBS98.Edwin C. Chan, John T. Boyland, and William L. Scherlis. Promises: Limited specifications for analysis and manipulation. In Proceedings of the IEEE International Conference on Software Engineering (ICSE'98), pages 167- 176. IEEE Computer Society, April 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Det96.David L. Detlefs. An overview of the Extended Static Checking system. In Proceedings of The First Workshop on Formal Methods in Software Practice, pages 1-9. ACM SIGSOFT, January 1996.Google ScholarGoogle Scholar
  5. DLN98.David L. Detlefs, K. Rustan M. Leino, and Greg Nelson. Wrestling with rep exposure. Research Report 156, Compaq Systems Research Center, 1998.Google ScholarGoogle Scholar
  6. DLNS98.David L. Detlefs, K. Rustan M. Leino, Greg Nelson, and James B. Saxe. Extended static checking. Research Report 159, Compaq Systems Research Center, 1998. To appear.Google ScholarGoogle Scholar
  7. ESC.Extended Static Checking home page, Compaq Systems Research Center. On the Web at www. research, digital, corn/SRC/esc /Esc. html.Google ScholarGoogle Scholar
  8. GH93.John V. Guttag and James J. Homing, editors. Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer-Verlag, 1993. With Stephen J. Garland, Kevin D. Jones, Andr6s Modet, and Jeannette M. Wing. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Hoa72.C.A.R. Hoare. Proof of correcmess of data representations. Acta Informatica, 1(4):271-81, 1972.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jac95.Daniel Jackson. Aspect: Detecting bugs with abstract dependences. ACM Transactions on Software Engineering and Methodology, 4(2): 109- 145, April 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jon91.H.B.M. Jonkers. Upgrading the pre- and postcondition technique, in S. Prehn and W. J. Toetenel, editors, VDM'91 Formal Software Development Methods, 4th International Symposium of VDM Europe, Volume 1: Conference Proceedings, volume 551 of Lecture Notes in Computer Science, pages 428-456. Springer- Verlag, October 1991. Google ScholarGoogle Scholar
  12. Lam93.John Lamping. Typing the specialization interface. ACM SIGPLAN Notices, 28(10):201-214, October 1993. OOPSLA '93 conference proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. LB97.Gary T. Leavens and Albert L. Baker. Enhancing the pre- and postcondition technique for more expressive specifications. Technical Report TR #97-19, Department of Computer Science, Iowa State University, September 1997.Google ScholarGoogle Scholar
  14. Lea89.Gary Todd Leavens. Verifying Object-Oriented Programs that Use Subtypes. PhD thesis, MIT Laboratory for Computer Science, February 1989. Available as Technical Report MIT/LCS~-439.Google ScholarGoogle Scholar
  15. Lea96.Gary T. Leavens. An overview of Larch/C++: Behavioral specifications for C++ modules. In Haim Kilov and William Harvey, editors, Specification of Behavioral Semantics in Object- Oriented information Modeling, chapter 8, pages 121-142. Kluwer Academic Publishers, 1996.Google ScholarGoogle Scholar
  16. Lei95.K. Rustan M. Leino. Toward Reliable Modular Programs. PhD thesis, California institute of Technology, 1995. Available as Technical Report Caltech-CS-TR-95-03. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Lei97.K. Rustan M. Leino. Ecstatic: An objectoriented programming language with an axiomatic semantics. In The Fourth International Workshop on Foundations of Object- Oriented Languages, January 1997. Proceedings available from www. cs. indiana, edu /hyplan/pierce/fool/.Google ScholarGoogle Scholar
  18. Lei98a.K. Rustan M. Leino. Recursive object types in a logic of oject-oriented programs. In Chris Hankin, editor, Programming Languages and Systems: 7th European Symposium on Programming, ESOP'98, volume 1381 of Lecture Notes in Computer Science. Springer, April 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lei98b.K. Rustan M. Leino. Specifying the modification of extended state. In The Fifth International Workshop on Foundations of Object- Oriented Languages, January 1998. Proceedings available from www.pauillac, inria . fr/~ remy/fool/program, html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. LH94.Kevin Lano and Howard Haughton, editors. Object-Oriented Specification Case Studies. The Object-Oriented Series. Prentice Hall, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. LN98a.K. Rustan M. Leino and Greg Nelson. Abstraction and specification revisited. Internal manuscript KRML 71, Digital Equipment Corporation Systems Research Center. To appear as Compaq SRC Research Report 160, 1998.Google ScholarGoogle Scholar
  22. LN98b.K. Rustan M. Leino and Greg Nelson. An extended static checker for Modula-3. In Kai Koskimies, editor, Compiler Construction; Proceedings of the 7th International Conference, CC'98, volume 1383 of Lecture Notes in Computer Science, pages 302-305. Springer, March 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. LS97.K. Rustan M. Leino and Raymie Stata. Checking object invariants. Technical Note 1997- 007, Digital Equipment Corporation Systems Research Center, April 1997.Google ScholarGoogle Scholar
  24. LW94.Barbara H. Liskov and Jeannette M. Wing. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6): 1811-1841, November 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mey88.Bertrand Meyer. Object-oriented Software Construction. Series in Computer Science. Prentice- Hall International, New York, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Nau94.David A. Naumann. Predicate transformer semantics of an Oberon-like language. In E.- R. Olderog, editor, Proceedings of the IFIP WG2.1/WG2.21WG2.3 Working Conference on Programming Concepts, Methods, and Calculi, pages 467-487. Elsevier, June 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. PHM98.Arnd Poetzsch-Heffter and Peter MUller. Logical foundations for typed object-oriented languages. In David Gries and Willem-Paul de Roever, editors, Programming Concepts and Methods, PROCOMET '98, pages 404-423. Chapman & Hall, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Sta97.Raymie Stata. Modularity in the presence of subclassing. Research Report 145, Digital Equipment Corporation Systems Research Center, April 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Van94.Mark T. Vandevoorde. Exploiting Specifications to Improve Program Performance. PhD thesis, Massachusetts Institute of Technology, February 1994. Available as Technical Report MIT/LCSflR-598. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Data groups: specifying the modification of extended state

          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
            OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
            October 1998
            428 pages
            ISBN:1581130058
            DOI:10.1145/286936

            Copyright © 1998 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: 1 October 1998

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate268of1,244submissions,22%

            Upcoming Conference

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader