Skip to main content
Log in

The use of mathematics in software quality assurance

  • Review Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

The use of mathematics for documenting, inspecting, and testing software is explained and illustrated. Three measures of software quality are described and discussed. Then three distinct complementary approaches to software quality assurance are presented. A case study, the testing and inspection of a safety-critical system, is discussed in detail.

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. Avizienis A. The N-version approach to fault-tolerant software. IEEE Transactions on Software Engineering, 1985, SE-11(12): 1491–1501

    Article  Google Scholar 

  2. Knight J C, Leveson N G. An experimental evaluation of the assumption of independence in multi-version programming. IEEE Transactions on Software Engineering, 1986, SE-12(1): 96–109

    Google Scholar 

  3. Parnas D L. Precise Documentation: The Key to Better Software. In: Nanz S, eds. The Future of Software Engineering. Berlin: Springer, 2011, 125–148

    Chapter  Google Scholar 

  4. Parnas D L, Madey J. Functional documentation for computer systems engineering. Science of Computer Programming, 1995, 25(1): 41–61

    Article  Google Scholar 

  5. Heninger K L. Specifying software requirements for complex systems: New techniques and their application. IEEE Transactions on Software Engineering, 1980, SE-6(January): 2–13 (Reprinted as Chapter 6 in [29])

    Article  Google Scholar 

  6. Parnas D L. Tabular representation of relations. CRL Report 260, Communications Research Laboratory, McMaster University, http://www.cas.mcmaster.ca/serg/crl_reports.html

  7. Janicki R, Parnas D L, Zucker J. Tabular representations in relational documents. In: Brink C, Schmidt G, eds. Relational Methods in Computer Science, Chapter 12, Berlin: Springer-Verlag, 1997, 184–196 (Reprinted as Chapter 4 in [29])

    Chapter  Google Scholar 

  8. Jin Y, Parnas, D L. Defining the meaning of tabular mathematical expressions. Science of Computer Programming, 2010, 75(11): 980–1000

    Article  MATH  Google Scholar 

  9. Heninger K L, Kallander J, Parnas D L, Shore J. Software requirements for the A-7E aircraft. NRL Report 3876, November 1978

  10. van Schouwen A J. The A-7 requirements model: re-examination for real-time systems and an application to monitoring systems. Technical Report 90-276, Queen’s, C&IS, TRIO, Kingston, Ontario, Canada, May 1990

  11. Parnas D L. From requirements to architecture. In: Fujita H, eds. New Trends in Software Methodologies, Tools and Techniques, Volumn 217 of Frontiers in Artificial Intelligence and Applications, Amsterdam: IOS Press, 2010, 3–36

    Google Scholar 

  12. Parnas D L, Madey J, Iglewski M. Precise documentation of wellstructured programs. IEEE Transactions on Software Engineering, 1994, 20(12): 948–976

    Article  Google Scholar 

  13. Parnas D L, Weiss D M. Active design reviews: Principles and practices. In: Proceedings of the 8th International Conference on Software Engineering. 1985 (Also published in Journal of Systems and Software, December 1987, Reprinted as Chapter 17 in [29])

  14. Parnas D L, Asmis G J K, Madey J. Assessment of safety-critical software in nuclear power plants. Nuclear Safety, 1991, 32(2): 189–198

    Google Scholar 

  15. van Schouwen A J, Parnas D L, Madey J. Documentation of requirements for computer systems. In: Proceedings of 1993 IEEE International Symposium on Requirements Engineering. 1993, 198–207

  16. Parnas D L. Inspection of safety critical software using function tables. In: Proceedings of IFIP World Congress 1994. 1994, 270–277 (Reprinted as Chapter 19 in [29])

  17. Parnas D L. Mathematical descriptions and specification of software. In: Proceedings of IFIP World Congress 1994. 1994, 354–359

  18. Archinoff G H, Hohendorf R J, Wassyng A, Quigley B, Borsch M R. Verification of the shutdown system software at the Darlington nuclear generating station. In: Proceedings of International Conference on Control & Instrumentation in Nuclear Installations. 1990

  19. Peters D K, Parnas D L. Requirements-based monitors for real-time systems. IEEE Transactions on Software Engineering, 2002, 28(2): 146–158

    Article  Google Scholar 

  20. Peters D K, Parnas D L. Using test oracles generated from program documentation. IEEE Transactions on Software Engineering, 1998, 24(3): 161–173

    Article  Google Scholar 

  21. Liu S L. Generating test cases from software documentation. McMaster University, CAS/SQRL, http://www.cas.mcmaster.ca/sqrl/sqrl_reports.html

  22. Clermont M, Parnas D L. Using information about functions in selecting test cases. In: Proceedings of ICSE 2005 Workshop on Advances in Model-Based Software Testing (A-MOST). 2005

  23. Woit D M. Specifying operational profiles for modules. In: Proceedings of the 1993 ACM SIGSOFT International Symposium on Software Testing and Analysis. 1993, 2–10

  24. Dijkstra E W. A Discipline of Programming. Englewood Cliffs: Prentice Hall, 1976

    MATH  Google Scholar 

  25. Bowman W C, Archinoff G H, Raina V M, Tremaine D R, Leveson N G. An application of fault tree analysis to safety critical software at Ontario Hydro. In: Proceedings of Probabilistic Safety and Management Conference. 1991

  26. Parnas D L. Really rethinking’ formal methods’. Computer, 2010, 43(1): 28–34

    Article  Google Scholar 

  27. Parnas D L. How engineering mathematics can improve software. In: Proceedings of the 2011 International Conference on Engineering of Reconfigurable Systems and Algorithms. 2011

  28. Parnas D L. Stop the numbers game. Communications of the ACM, 2007, 50(11): 19–21

    Article  Google Scholar 

  29. Hoffman D M, Weiss D M. Software Fundamentals: Collected Papers by David L. Parnas. Boston: Addison-Wesley, 2001 17–39

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Lorge Parnas.

Additional information

David Lorge Parnas has been studying industrial software design since 1969. Many of his papers have proven to have lasting value, some won awards long after they were published. Parnas received his B.S., M.S., and Ph.D. in Electrical Engineering from Carnegie Mellon University. He has honorary doctorates from the ETH Zurich, Catholic University of Louvain (Belgium), University of Italian Switzerland (Lugano), and the Technische Universität Wien (Austria). He is licensed as a Professional Engineer in Ontario. Parnas is the author of more than 280 papers and reports. A collection of older papers was published in: Hoffman D M, Weiss D M (eds.), Software Fundamentals: Collected Papers by David L. Parnas. Addison-Wesley, 2001 (ISBN 0-201-70369-6).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parnas, D.L. The use of mathematics in software quality assurance. Front. Comput. Sci. 6, 3–16 (2012). https://doi.org/10.1007/s11704-012-2904-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-012-2904-2

Keywords

Navigation