Correctness of generic modules

  • Wolfgang Reif
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 620)


Modularization is the central design paradigm for large software systems, and the correctness of modules is one of the basic building blocks for the verification of large systems. In this paper we investigate the correctness problem for generic modules. The export- and import interfaces of a generic module are parameterized first-order specifications, and its implementation is written in an imperative programming language. We define the semantics and the correctness of generic modules, and present a logical characterization of correctness in terms of Dynamic Logic. This characterization paves the way for automated verification of generic modules in the KIV system (Karlsruhe Interactive Verifier), a tactical theorem prover for Dynamic Logic.

Key words

Program verification module correctness refinement of parameterized specifications Dynamic Logic 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AS 89]
    Antoniou, G.,Sperschneider, V., On The Verification of Modules, CSL 89, Springer LNCS 440, pp. 16–35Google Scholar
  2. [BEP 87]
    Blum, E.K., Ehrig, H., Parisi-Presicce, F., Algebraic Specification of Modules and Their Basic Interconnections, Journal of Computer and System Sciences 34 (1987), pp. 293–339CrossRefGoogle Scholar
  3. [BM 79]
    Boyer, R., Moore, J, A Computational Logic, Academic Press, New York 1979Google Scholar
  4. [BK 84]
    Bergstra, J., Klop, J., Proving Program Inclusion Using HOARE's Logic, Theoretical Computer Science 30 (1984), pp. 1–48CrossRefGoogle Scholar
  5. [Bu 74]
    R. Burstall, Program Proving as Hand Simulation with a little Induction, Information Processing 74, North-Holland Publishing Company (1974)Google Scholar
  6. [CM 88]
    Chandy, K.M., Misra, J., Parallel Program Design, A Foundation. Addison Wesley 1988Google Scholar
  7. [EM 85]
    Ehrig, H., Mahr, B., Fundamentals of Algebraic Specification 1, Equations and Initial Semantics, EATCS Monographs on Theoretical Computer Science, Vol. 6, Springer 1985Google Scholar
  8. [EM 90]
    Ehrig, H., Mahr, B., Fundamentals of Algebraic Specification 2, Module Specifications and Constraints, EATCS Monographs on Theoretical Computer Science, Vol. 21, Springer 1990Google Scholar
  9. [GM82]
    Goguen, J., Meseguer, J., Universal Realization, Persistent Interconnection and Implementation of Abstract Modules, Proc. 9th ICALP, 1982, Springer LNCS 45, 265–281Google Scholar
  10. [GTW 78]
    Goguen, J., Thatcher, J., Wagner, E., An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types, Current Trends in Programming Methodology IV, Yeh, R. (Ed.), Prentice-Hall, Englewood Cliffs, 1978, pp. 80–149Google Scholar
  11. [Go 82]
    Goldblatt, R., Axiomatising the Logic of Computer Programming, Springer LNCS 130Google Scholar
  12. [Gr 81]
    Gries, D. The Science of Programming, Springer-Verlag (1981)Google Scholar
  13. [Ha 79]
    Harel, D., First-Order Dynamic Logic, Springer, LNCS 68, 1979Google Scholar
  14. [Ho 69]
    Hoare, C.A.R., An Axiomatic Basis for Computer Programming, Comm. ACM 12 (1969)Google Scholar
  15. [Ho 72]
    Hoare, C.A.R., Proof of Correctness of Data Representations, Acta Informatica 1,4 (1972), pp. 271–281CrossRefGoogle Scholar
  16. [HRS 88]
    Heisel, M., Reif, W., Stephan, W., Implementing Verification Strategies in the KIV-System, Proc. 9th International Conference on Automated Deduction, E. Lusk, R. Overbeek (eds), Springer LNCS 310 (1988), pp. 131–140Google Scholar
  17. [HRS 89]
    Heisel, M., Reif, W., Stephan, W., A Dynamic Logic for Program Verification, Meyer, A., Taitslin, M., Logic at Botik 1989, Pereslavl-Zalessky, USSR, Springer LNCS 363, pp. 134–145Google Scholar
  18. [HRS 90]
    Heisel, M., Reif, W., Stephan, W., Tactical Theorem Proving in Program Verification, 10th International Conference on Automated Deduction, Kaiserslautern, FRG, July 1990, Springer LNCS 449, pp. 117–131Google Scholar
  19. [HRS 91]
    Heisel, M., Reif, W., Stephan, W., Formal Software Development in the KIV System, in Automating Software Design, Lowry McCartney (eds), AAAI press 1991, and Proc. Workshop on Automating Software Design, IJCAI-89, Kestrel Institute, Palo Alto (1989), pp. 115–124.Google Scholar
  20. [Pa 90]
    Padawitz, P., Horn Logic and Rewriting for Functional and Logic Program Design, Universität Passau, Fakultät für Mathematik und Informatik, MIP-9002, März 1990Google Scholar
  21. [Re 91]
    Reif, W., Correctness of Specifications and Generic Modules, Dissertation, University of Karlsruhe, 1991 (in German)Google Scholar
  22. [ST 83]
    Stolboushkin, A.P., Taitslin, M.A., Deterministic dynamic logic is strictly weaker than dynamic logic, Information and Control 57, pp. 48–55, 1983Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Wolfgang Reif
    • 1
  1. 1.Institut für Logik, Komplexität und DeduktionssystemeUniversität KarlsruheKarlsruheGermany

Personalised recommendations