Abstract
This paper presents a formal approach to the specification, construction and automated verification of large software systems. We describe the design methodology, the theory of correctness, the proof strategy for the resulting proof obligations, and the experiences from case studies carried out using the Karlsruhe Interactive Verifier (KIV). The design methodology supports the top-down development of structured algebraic first-order specifications and stepwise implementation of its parts by program modules. The correctness of the resulting modular systems is proved to be compositional. For the correctness of single program modules we give a characterization in terms of Dynamic Logic. This provides a general solution to the correctness problem for implementations of full first-order specifications.
This work was partly sponsored by the BSI-project VSE, and the BMFT-project KORSO.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Antoniou, G., Sperschneider, V., On The Verification of Modules, CSL 89, Springer LNCS 440
Adel'son-Vel'skii, G.M., Landis, Y.M., An Algorithm for the Organization of Information, Soviet Math. Dokl. 3, 1962, pp. 1259–1262
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–339
Biundo, S., Hummel, B., Hutter, D., Walther, C., The Karlsruhe Induction Theorem Proving System, 8th International Conference on Automated Deduction, Springer LNCS 230, 1986
Boyer, R., Moore, J, A Computational Logic, Academic Press, New York 1979
Ehrig, H., Mahr, B., Fundamentals of Algebraic Specification 1, Equations and Initial Semantics, EATCS Monographs on Theoretical Computer Science, Vol. 6, Springer 1985
Ehrig, H., Mahr, B., Fundamentals of Algebraic Specification 2, Module Specifications and Constraints, EATCS Monographs on Theoretical Computer Science, Vol. 21, Springer 1990
Eisinger, N., Ohlbach, H.-J., The Markgraf Karl Refutation Procedure (MKRP), 8th Intern. Conference on Automated Deduction, Oxford, England, Siekmann (ed.), Springer LNCS 230, 1986
Fagin, R., Nievergelt, J., Pippenger, N., Strong, H.R., Extendible Hashing — a fast access method for dynamic files, ACM Tans. Database Systems 4 (1979), 315–344
Giarratana, V., Gimona, F., Montanari, U., Observability Concepts in Abstract Data Type Specifications, 5th Symposium Math. Foundations of Computer Science (1976), Springer LNCS 45
Goguen, J., Meseguer, J., Universal Realization, Persistent Interconnection and Implementation of Abstract Modules, Proc. 9th ICALP, 1982, Springer LNCS 45, 265–281
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, Engléwood Cliffs, 1978, pp. 80–149
Harel, D., First-Order Dynamic Logic, Springer LNCS 68, 1979
Hoare, C.A.R., Proof of Correctness of Data Representations, Acta Informatica 1,4 1972
Heisel, M., Reif, W., Stephan, W., A Dynamic Logic for Program Verification, Logic at Botik 1989, Springer LNCS 363, pp. 134–145
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
Heisel, M., Reif, W., Stephan, W., Formal Software Development in the KIV System, in Automating Software Design, Lowry McCartney (eds), AAAI press 1991
Kaufmann, M., A User's Manual for an Interactive Enhancement to the Boyer-Moore Theorem Prover, Technical Report CLI 19, CLInc, 1988
Kfoury, A.J., Urzyczyn, P., Necessary and Sufficient Conditions for the Universality of Programming Formalisms, Acta Informatica 22, 347–377 (1985)
Langenstein, B., Verification of Dynamic Hashing, Institut für Logik, Komplexität und Deduktionssysteme, University of Karlsruhe 1991, (in German)
R.E. Milne, Semantic Foundations of RSL, RAISE/CRI/DOC/4/V1, CRI, 1990
Moore, J. S., Piton, A Verified Assembly Level Language, Technical Report 22, Computational Logic, Inc., Austin, Texas (1988)
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 1990
Pase, B., Kromodimoeljo, S., m-NEVER System Summary, Proc. 9th International Conference on Automated Deduction, E. Lusk, R. Overbeek (eds), Springer LNCS 310 (1988)
Reif, W., Correctness of Specifications and Generic Modules, Dissertation, University of Karlsruhe, 1991 (in German)
Reif, W., Correctness of Full First-Order Specifications, 4th Conference on Software Engineering and Knowledge Engineering, Capri, Italy, IEEE press, 1992
Reif, W., Correctness of Generic Modules, Symposium on Logical Foundations of Computer Science, Logic at Tver, Tver, Russia, Nerode, Taitslin (eds.), Springer LNCS 620, 1992
Rushby, J., von Henke, F., Owre, S., An Introduction to formal Specification and Verification Using EHDM, CSL Tech. Report 91/02, SRI, 1991
Schellhorn, G., Examples for the Verification of Modules in Dynamic Logic, Institut für Logik, Komplexität und Deduktionssysteme, University of Karlsruhe 1989, (in German)
Stenzel, K., Design and Implementation of a Proof Strategy for Module Verification in the KIV System, Institut für Logik, Kompl. u. Ded. systeme, University of Karlsruhe 1990, (in German)
Wirsing, M., Algebraic Specification, In Handbook of Theoretical Computer Science, Volume B, Formal Models and Semantics, Jan van Leeuwen (ed.), Elsevier, 1990, pp. 675–788
Wirsing, M., Pepper, P., Partsch, H., Dosch, W., Broy, M., On Hierarchies of Abstract Data Types, Acta Informatica 20 (1983), pp. 1–33
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reif, W. (1992). Verification of large software systems. In: Shyamasundar, R. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1992. Lecture Notes in Computer Science, vol 652. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56287-7_109
Download citation
DOI: https://doi.org/10.1007/3-540-56287-7_109
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56287-0
Online ISBN: 978-3-540-47507-1
eBook Packages: Springer Book Archive