Skip to main content
Log in

A logic for describing, not verifying, software

  • Published:
Erkenntnis Aims and scope Submit manuscript

Abstract

An important perquisite for verification of the correctness of software is the ability to write mathematically precise documents that can be read by practitioners and advanced users. Without such documents, we won't know what properties we should verify. Tabular expressions, in which predicate expressions may appear, have been found useful for this purpose. We frequently use partial functions in our tabular documentation. Conventional interpretations of expressions that describe predicates are not appropriate for our application because they do not deal with partial functions. Experience with this documentation has led us to choose a logic in which predicates are total but functions remain partial. We have found that this particular interpretation results in simpler expressions and is easily understood by practitioners.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Cheng, J. H. and C. B. Jones: 1991, ‘On the Usability of Logics Which Handle Partial Functions’, in C. Morgan and J. Woodcock (eds.),Proceedings of the Third Refinement Workshop, Springer-Verlag, Heidelberg.

    Google Scholar 

  2. Dijkstra, E. W.: 1976,A Discipline of Programrning, Prentice Hall, Englewood Cliffs NJ.

    Google Scholar 

  3. Farmer, W. M.: 1990, ‘A Partial Functions Version of Church's Simple Theory of Types’,The Journal of Symbolic Logic 55, 1269–1291.

    Google Scholar 

  4. Halmos, P. R.: 1960,Naive Set Theory, Van Nostrand Rheinhold, New York.

    Google Scholar 

  5. Heninger, K. L., J. W. Kallander, J. E. Shore, and D. L. Parnas: 1978, ‘Software Requirements for the A-7E Aircraft’,NRL Report 3876.

  6. Heninger, K. L.: 1980, ‘Specifying Software Requirements for Complex Systems: New Techniques and Their Application’,IEEE Trans. Software Engineering,SE-6, 2–13.

    Google Scholar 

  7. Hester, S., D. L. Parnas, and D. F. Utter: 1981, ‘Using Documentation as a Software Design Medium’, inBell System Technical Journal.

  8. Janicki, R.: 1995, ‘Towards a Formal Semantics of Tables’,Proceedings of the 17th International Conference on Software Engineering, Seattle WA, pp. 231–240.

  9. Mendelson, E.: 1987,Introduction to Mathematical Logic 55, Third Edition, Wadsworth and Brooks, Pacific Grove California (USA).

    Google Scholar 

  10. Parnas, D. L.: 1992,Tabular Representation of Relations, CRL Report 260, McMaster University, TRIO (Telecommunications Research Institute of Ontario), p. 12.

  11. Parnas, D. L., G. J. K. Asmis, and J. Madey: 1991, ‘Assessment of Safety-Critical Software in Nuclear Power Plants’,Nuclear Safety 32(2), 189–198.

    Google Scholar 

  12. Parnas, D. L. and J. Madey: 1995, ‘Functional Documentation for Computer Systems Engineering (Version 2)’, CRL Report 237, McMaster University, TRIO (Telecommunications Research Institute of Ontario), September 1991, p. 14. Revised version to appear inScience of Computer Programming (Elsevier).

  13. Parnas, D. L., J. Madey, and M. Iglewski: 1994, ‘Precise Documentation of Well-Structured Programs’,IEEE Transactions on Software Engineering,20(12), 948–976.

    Google Scholar 

  14. Parnas, D. L.: 1994, ‘Mathematical Descriptions and Specification of Software’,Proceedings of IFIP World Congress 1994,1, 354–359.

    Google Scholar 

  15. Zucker, J. I.: 1993, ‘Normal and Inverted Function Tables’, CRL Report 265, McMaster University, Communications Research Laboratory, TRIO (Telecommunications Research Institute of Ontario), p. 15.

  16. Zucker, J. I.: 1994, ‘Transformations of Normal and Inverted Function Tables’, CRL Report 291, McMaster University, Communications Research Laboratory, TRIO (Telecommunications Research Institute of Ontario), p. 26.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parnas, D.L. A logic for describing, not verifying, software. Erkenntnis 43, 321–338 (1995). https://doi.org/10.1007/BF01135377

Download citation

  • Issue Date:

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

Keywords

Navigation