Skip to main content

KIV 3.0 for Provably Correct Systems

  • Conference paper
Applied Formal Methods — FM-Trends 98 (FM-Trends 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1641))

Included in the following conference series:

Abstract

KIV 3.0 is an advanced tool for engineering high assurance systems. It provides an economically applicable verification technology, and supports the entire design process from formal specifications to executable verified code. In KIV the design process for high assurance systems proceeds as follows.

  1. 1.

    KIV supports both functional and state based software/system design using algebraic specifications or Abstract State Machines (ASMs), respectively. As a first step, predefined theories from a library can be imported. New specifications are added to the hierarchically structured specification graph which is graphically visualized.

  2. 2.

    In addition to the specification, a formal safety/security model is defined. The formulation of extra validation properties helps to detect gross specification errors before it is attempted to prove the main safety/security properties.

  3. 3.

    It has to be shown that the validation and safety/security properties are satisfied by the specification. The necessary formal proofs are done in an interactive graphical proof environment. Proof search is automated to a large extent. Proof engineering facilities help to reveal specification errors. After correcting the specification, invalid proofs can be reused automatically.

  4. 4.

    The components of the hierarchical system specification can be implemented independently (modular) using an imperative programming language. Proof obligations for the correctness of the implementation are generated automatically and have to be verified by the proof component. Again, corrected errors lead to invalidated proofs which can be reused automatically.

  5. 5.

    The whole specification and verification process is guarded by an elaborate correctness management. If, finally, every specification and implementation is in “proved state”, it guarantees that there are no inconsistencies and all proof obligations and used lemmas are proved.

  6. 6.

    For use in future projects, specifications and implementations can be added to a library.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi, M. Burrows, B. Lampson, and G. Plotkin. A Calculus for Access Control in Distributed Systems. In J. Feigenbaum, editor, CRYPTO’ 91. Springer LNAI 576, 1991.

    Google Scholar 

  2. W. Ahrendt, B. Beckert, R. Hähnle, W. Menzel, W. Reif, G. Schellhorn, and P. Schmitt. Integrating of Automated and Interactive Theorem Proving. In W. Bibel and P. Schmitt, editors, Automated Deduction — A Basis for Applications, volume I: Foundations, chapter 3: Interactive Theorem Proving. Kluwer Academic Publishers, 1998.

    Google Scholar 

  3. E. Börger and D. Rosenzweig. The WAM—definition and compiler correctness. In Christoph Beierle and Lutz Plümer, editors, Logic Programming: Formal Methods and Practical Applications, volume 11 of Studies in Computer Science and Artificial Intelligence. North-Holland, Amsterdam, 1995.

    Google Scholar 

  4. M. Fröhlich and M. Werner. Demonstration of the interactive graph visualization system daVinci. In R. Tamassia and I. Tollis, editors, DIM ACS Workshop on Graph Drawing’ 94. Proceedings, Springer LNCS 894. Princeton (USA), 1994. http://www.informatik.uni-bremen.de/~davinci/.

    Google Scholar 

  5. T. Fuchß, W. Reif, G. Schellhorn, and K. Stenzel. Three Selected Case Studies in Verification. In M. Broy and S. Jähnichen, editors, KORSO: Methods, Languages, and Tools for the Construction of Correct Software-Final Report. Springer LNCS 1009, 1995.

    Chapter  Google Scholar 

  6. R. Goldblatt. Axiomatising the Logic of Computer Programming. Springer LNCS 130, 1982.

    MATH  Google Scholar 

  7. M. Gordon. HOL: A Proof Generating System for Higher-order Logic. In G. Birtwistle and P.A. Subrahmanyam, editors, VLSI Specification and Synthesis. Kluwer Academic Publishers, 1988.

    Google Scholar 

  8. P. Graf. Term Indexing. Springer LNCS 1053, 1996.

    Google Scholar 

  9. M. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  10. M. Heisel, W. Reif, and W. Stephan. A Dynamic Logic for Program Verification. In A. Meyer and M. Taitslin, editors, Logical Foundations of Computer Science. Springer LNCS 363, 1989.

    Google Scholar 

  11. D. Hutter, B. Langenstein, F. Koob, W. Reif, C. Sengler, W. Stephan, M. Ullmann, M. Wittmann, and A. Wolpers. The VSE Development Method — A Way to Engineer High-Assurance Software Systems. In Bredereke Gotzheim, editor, GI/ITG Tagung Formale Beschreibungstechniken für verteilte Systeme. Universität Kaiserslautern, 1995.

    Google Scholar 

  12. S. Kaplan. A compiler for conditional term rewriting systems. In 2nd Conf. on Rewriting Techniques anf Applications. Proceedings. Bordeaux, France, Springer LNCS 256, 1987.

    Google Scholar 

  13. M. Kaufmann and J Moore. An industrial strength theorem prover for a logic based on common lisp. IEEE Transactions on Software Engineering, 23(4), April 1997.

    Google Scholar 

  14. S. Owre, J. M. Rushby, and N. Shankar. PVS: A Prototype Verification System. In D. Kapur, editor, Automated Deduction-CADE-11. Proceedings, Springer LNAI 607. Saratoga Springs, NY, USA, 1992.

    Google Scholar 

  15. L. C. Paulson. Isabella A Generic Theorem Prover. Springer LNCS 828, 1994.

    Google Scholar 

  16. W. Reif. Verification of Large Software Systems. In R. Shyamasundar, editor, Foundations of Software Technology and Theoretical Computer Science. Proceedings. Springer LNCS 652, 1992.

    Google Scholar 

  17. W. Reif. The KlV-approach to Software Verification. In M. Broy and S. Jähnichen, editors, KORSO: Methods, Languages, and Tools for the Construction of Correct Software-Final Report. Springer LNCS 1009, 1995.

    Chapter  Google Scholar 

  18. W. Reif, G. Schellhorn, and K. Stenzel. Interactive Correctness Proofs for Software Modules Using KIV. In Tenth Annual Conference on Computer Assurance, IEEE press. NIST, Gaithersburg (MD), USA, 1995.

    Google Scholar 

  19. W. Reif, G. Schellhorn, K. Stenzel, and M. Balser. Structured specifications and interactive proofs with KIV. In W. Bibel and P. Schmitt, editors, Automated Deduction—A Basis for Applications. Kluwer Academic Publishers, 1998.

    Google Scholar 

  20. W. Reif and K. Stenzel. Reuse of Proofs in Software Verification. In R. Shyamasundar, editor, Foundation of Software Technology and Theoretical Computer Science. Proceedings. Springer LNCS 761, 1993.

    Google Scholar 

  21. D. T. Sannella and M. Wirsing. A kernel language for algebraic specification and implementation. In Coll. on Foundations of Computation Theory, Springer LNCS 158. Linköping, Sweden, 1983.

    Google Scholar 

  22. G. Schellhorn and W. Ahrendt. Reasoning about Abstract State Machines: The WAM Case Study. Journal of Universal Computer Science (J. UCS), 1997. available at http://hyperg.iicm.tu-graz.ac.at/jucs/.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Balser, M., Reif, W., Schellhorn, G., Stenzel, K. (1999). KIV 3.0 for Provably Correct Systems. In: Hutter, D., Stephan, W., Traverso, P., Ullmann, M. (eds) Applied Formal Methods — FM-Trends 98. FM-Trends 1998. Lecture Notes in Computer Science, vol 1641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48257-1_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-48257-1_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66462-8

  • Online ISBN: 978-3-540-48257-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics