Robust data types

  • Flaviu Cristian
Chapter 5 Submitted Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 134)


The concept of a data type with total operations and exceptions is proposed as a basic structuring tool for the design of verifiable robust software. A notation for the specification of such data types is presented and the issues underlying their implementation in a programming language supporting data abstraction and exception handling are discussed and illustrated by examples. Existing proof methods are extended to permit verification of the total correctness of programs which implement or make use of data types with total operations and exceptions.

Key-words and phrases

Data Abstraction Partial Operations Exception Handling Total Operations Program Verification Software Engineering 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J.R. Abrial, "The Specification Language Z — Syntax and Semantics", Programming Research Group, Oxford University (1980).Google Scholar
  2. 2.
    E. Best and F. Cristian, "Systematic Detection of Exception Occurrences", Science of Computer Programming Vol. 1(1), North Holland Pub. Co. (1981).Google Scholar
  3. 3.
    D. Bjorner, "Formalisation of Data Base Models", pp. 144–215 in Abstract Software Specification, ed. D. Bjorner, Springer Verlag Lecture Notes in Comp. Sc. (1979).Google Scholar
  4. 4.
    F. Cristian, "Le Traitement des Exceptions dans les Programmes Modulaires", Doctoral Thesis, Univ. of Grenoble (1979).Google Scholar
  5. 5.
    F. Cristian, "Exception Handling and Software-Fault Tolerance", Proc. of the 10th Int. Symp. on Fault Tolerant Computing, Kyoto, pp.97–103 (1980).Google Scholar
  6. 6.
    E.W. Dijkstra, A Discipline of Programming, Prentice-Hall (1976).Google Scholar
  7. 7.
    S.L. Gerhart et al., "An Overview of AFFIRM — a Specification and Verification System", Proc. of the IFIP80 Congress, Tokyo (1980).Google Scholar
  8. 8.
    J.A. Goguen, "Abstract Errors for Abstract Data Types", pp. 492–525 in Formal Description of Programming Concepts, ed. E.J. Neuhold, North-Holland (1978).Google Scholar
  9. 9.
    J.A. Goguen, J.W. Thatcher, and E.G. Wagner, "An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types", pp. 80–149 in Current Trends in Progr. Methodology, ed. R.T. Yeh, Prentice-Hall (1978).Google Scholar
  10. 10.
    J. Guttag and J.J. Horning, "Formal Specification As a Design Tool", Proc. of the 7th ACM Symp. on Principles of Progr. Languages, Las Vegas (1980).Google Scholar
  11. 11.
    C.A.R. Hoare, "Proof of Correctness of Data Representations", Acta Informatica Vol. 1(4), pp.271–281 (1972).CrossRefGoogle Scholar
  12. 12.
    J.J. Horning, H.C. Lauer, P.M. Melliar-Smith, and B. Randell, "A Program Structure for Error Detection and Recovery", in Lecture Notes in Comp. Sc., Springer Verlag (1974).Google Scholar
  13. 13.
    J. Ichbiah et al., "Rationale for the Design of the ADA Programming Language", SIGPLAN Notices Vol. 14(6) (1979).Google Scholar
  14. 14.
    C.B. Jones, Software Development: A Rigorous Aproach, Prentice-Hall (1980).Google Scholar
  15. 15.
    B.H. Liskov and A. Snyder, "Exception Handling in CLU", IEEE Trans. on Softw. Eng. Vol. SE-5(6), pp.546–558 (1979).Google Scholar
  16. 16.
    D.C. Luckham and W. Polak, "ADA Exception Handling: An Axiomatic Approach", ACM Trans. on Progr. Lang. and Systems Vol. 2(2), pp.225–233 (1980).Google Scholar
  17. 17.
    R. Nakajima, M. Honda, and H. Nakahara, "Hierarchical Program Specification and Verification — A Many-Sorted Approach", Acta Informatica Vol. 14, pp.135–155 (1980).Google Scholar
  18. 18.
    R. Randell, P.A. Lee, and P.C. Treleaven, "Reliability Issues in Computing Systems Design", Computing Surveys Vol. 10(2), pp.123–165 (1978).Google Scholar
  19. 19.
    J.E. Stoy, Denotational Semantics: the Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge (1977).Google Scholar
  20. 20.
    W.A. Wulf, R.L. London, and M. Shaw, "Abstraction and Verification in ALPHARD: Introduction to language and Methodology", Comp. Sc. Dept, Carnegie-Mellon Univ. (1976).Google Scholar
  21. 21.
    S.N. Zilles, "An Introduction to Data Algebras", pp. 248–272 in Abstract Software Specifications, ed. D. Bjorner, Springer Verlag, Lect. Notes in Comp. Sc. (1979).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • Flaviu Cristian
    • 1
  1. 1.Computing LaboratoryUniversity of Newcastle upon TyneNewcastle upon TyneEngland

Personalised recommendations