Skip to main content

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

Abstract

In the following paper, we describe in a simplified way a method for the development for software systems that strives consistently toward achieving correctness and clarify it with the help of two examples. This approach endeavors to integrate measures for securing quality concerning reliability and correctness in all phases of the development process. For the correctness of software systems, it is necessary to describe precisely the requirements of the development phases and to verify decisions concerning their implementation.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Broy, F. Dederichs, C. Dendorfer, M. Fuchs, T.F. Gritzner, R. Weber: The Design of Distributed Systems — an Introduction to FOCUS. Technical University Munich, Institute of Computer Science, TUM-I9203, Januar 1992, see also: Summary of Case Studies in FOCUS — a Design Method for Distributed Systems. Technical University Munich, Institute for Computer Science, TUM-I9203, Januar 1992

    Google Scholar 

  2. R. Betschko, S. Dick, K. Didrich, P.Pepper: Realizing Sets by Hash Tables. This volume

    Google Scholar 

  3. M. Broy, C. Dendorfer. K. Stølen: HOPSA — High Level Programming Language for Parallel Computations. P.P. Spies (ed): EuroArch 93, Springer 1993, 636–646

    Google Scholar 

  4. M. Broy, C. Facchi, R. Grosu, R. Hettler, H. Hußmann, D. Nazareth, F. Regensburger, O. Slotosch, K. Stølen: The Requirement and Design Specification Language Spectrum: An Informal Introduction. TU Munich, TUM-I9311, TUM-I9312, 1993

    Google Scholar 

  5. J. Bohn, H. Hungar: TAVERDI — Transformation and Verification of Distributed Systems. This volume

    Google Scholar 

  6. M. Broy, S. Jähnichen (Hrsg.): Korrekte Software durch formale Methoden. GMD Karlsruhe 1993

    Google Scholar 

  7. D. Bjørner, H. Langmaack, C.A.R. Hoare: Provably Correct Systems. ProCoS I Final Delivery, März 1992

    Google Scholar 

  8. R.S. Boyer, J.S. Moore: The Addition of Bounded Quantification and Partial Functions to a Computational Logic and Its Theorem Prover. In: M. Broy (Hrsg.): Constructive Methods in Computing Science. Springer NATO ASI Series, Series F: Computer and System Sciences, Vol. 55, 1989, 95–145

    Google Scholar 

  9. F.L. Bauer, H. Wössner: Algorithmic Language and Program Development, Berlin: Springer, 1982

    Google Scholar 

  10. M. Broy: Algebraic Methods for Program Construction: The Project CIP. SOFSEM 82, also in: P. Pepper (ed.): Program Transformation and Programming Environments. NATO ASI Series. Series F: 8. Berlin-Heidelberg-New York-Tokyo: Springer 1984, 199–222

    Google Scholar 

  11. M. Broy: Experiences with Software Specification and Verification Using LP, the Larch Proof Assistent. DIGITAL Systems Research Center, SRC 93, 1992

    Google Scholar 

  12. F. Cornelius, H. Hußmann, M. Löwe: The KORSO Case Study for Software Engineering with Formal Methods: A Medical Information System. This volume

    Google Scholar 

  13. P. Deussen, A. Hansmann, Th. Käufl, S Klingenbeck: The Verification System TATZELWURM. This volume

    Google Scholar 

  14. E.W. Dijkstra: A Discipline of Programming. Prentice-Hall 1976

    Google Scholar 

  15. H.-D. Ehrich (ed.): KORSO Reference Languages — Concepts and Application Domains. This volume

    Google Scholar 

  16. R.W. Floyd: Assigning Meanings to Programs. Proc. of Symposia in Applied Mathematics of the Amer. Math. Soc. 19, 1967, 19–32

    Google Scholar 

  17. S. Gastinger, R. Hennicker, R. Stabl: Design of Modular Software Systems with Reuse. This volume

    Google Scholar 

  18. M. Gogolla, S. Conrad, G. Denker, R. Herzig, N. Vlachantonis, H.-D. Ehrich: TROLL light — The Language and its Development Environment. This volume

    Google Scholar 

  19. J.V. Guttag, J.J. Horning: Larch: Languages and Tools for Formal Specification. Berlin: Springer, 1993

    Google Scholar 

  20. F.W. von Henke, A. Dold, M. Grosse. H. Rueß, D. Schwier, M. Strecker: Construction and Deduction Methods for the Formal Development of Software. This volume

    Google Scholar 

  21. R. Hettler: Zur Übersetzung von E/R-Schemata nach Spectrum. Technischer Bericht TUM-I9333, TU München, 1994

    Google Scholar 

  22. R. Hettler, D. Nazareth, F. Regensburger, O. Slotosch: AVL Trees Revisited: A Case Study in Spectrum. This volume

    Google Scholar 

  23. C.A.R. Hoare: An Axiomatic Approach to Computer Programming. Comm. ACM 12, October 1969, 576–580, 583

    Article  Google Scholar 

  24. H. Hußmann: Formal foundation of pragmatic software engineering methods. In: B. Wolfinger (ed.): Innovationen bei Rechen-und Kommunikationssystemen, Informatik aktuell, Berlin: Springer, 1994, 27–34

    Google Scholar 

  25. C.B. Jones: Systematic Program Development Using VDM. Prentice Hall 1986

    Google Scholar 

  26. B. Krieg-Brückner, J. Liu, H. Shi, B. Wolff: Towards Correct, Efficient and Reusable Transformational Developments. This volume

    Google Scholar 

  27. C. Lewerentz, Th. Lindner: Case Study “Production Cell”: A Comparative Study in Formal Specification and Verification. This volume

    Google Scholar 

  28. C. Lewerentz, Th. Lindner, A. Rüping, E. Sekerinski: On Object-Oriented Design and Verification. This volume

    Google Scholar 

  29. D. MacKenzie: The Fangs of the VIPER. Nature Vol. 352, 1991, 467–468

    Article  Google Scholar 

  30. F. Nicki: Ablaufspezifikation durch Datenflußdiagramme und Axiome. In: B. Wolfinger (ed.): Innovationen bei Rechen-und Kommunikationssystemen, Informatik aktuell, Berlin: Springer, 1994, 10–18

    Google Scholar 

  31. T. Nipkow: Term Rewriting and Beyond — Theorem Proving in Isabelle. Formal Aspects of Computing 1, 1989, 320–338

    Article  Google Scholar 

  32. P. Pepper, M. Wirsing (eds.): Korso: A Method for the Development of Correct Software. This volume

    Google Scholar 

  33. W. Reif: Verification of Large Software Systems. In: Shyamasundar (ed.): Foundations of Software Technology and Theoretical Computer Science, New Delhi, Lecture Notes in Computer Science, 1992

    Google Scholar 

  34. W. Reif: The KIV Approach to Software Verification. This volume

    Google Scholar 

  35. J.M. Rushby, F. v. Henke: Formal Verification of Algorithms for Critical Systems. IEEE Transactions on Software Engineering 19:1, 1993, 13–23

    Article  Google Scholar 

  36. O. Slotosch: Implementing the Change of Data Structures with SPECTRUM in the Framework of KORSO Development Graphs. TU Munich, TUM-I9511,1995

    Google Scholar 

  37. K. Stroetmann: SEDUCT — A Proof Compiler for First Order Logic. This volume

    Google Scholar 

  38. M. Wirsing: Algebraic Specification. Handbook of Theoretical Computer Science, Vol. B, Amsterdam: North Holland 1990, 675–788

    Google Scholar 

  39. U. Wolter, K. Didrich, F. Cornelius, M. Klar, R. Wessäly, H. Ehrig: How to Cope with the Spectrum of SPECTRUM. This volume

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manfred Broy Stefan Jähnichen

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Broy, M., Wirsing, M. (1995). Correct software: From experiments to applications. In: Broy, M., Jähnichen, S. (eds) KORSO: Methods, Languages, and Tools for the Construction of Correct Software. Lecture Notes in Computer Science, vol 1009. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015453

Download citation

  • DOI: https://doi.org/10.1007/BFb0015453

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-47802-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics