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.
Similar content being viewed by others
References
Avizienis A. The N-version approach to fault-tolerant software. IEEE Transactions on Software Engineering, 1985, SE-11(12): 1491–1501
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
Parnas D L. Precise Documentation: The Key to Better Software. In: Nanz S, eds. The Future of Software Engineering. Berlin: Springer, 2011, 125–148
Parnas D L, Madey J. Functional documentation for computer systems engineering. Science of Computer Programming, 1995, 25(1): 41–61
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])
Parnas D L. Tabular representation of relations. CRL Report 260, Communications Research Laboratory, McMaster University, http://www.cas.mcmaster.ca/serg/crl_reports.html
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])
Jin Y, Parnas, D L. Defining the meaning of tabular mathematical expressions. Science of Computer Programming, 2010, 75(11): 980–1000
Heninger K L, Kallander J, Parnas D L, Shore J. Software requirements for the A-7E aircraft. NRL Report 3876, November 1978
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
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
Parnas D L, Madey J, Iglewski M. Precise documentation of wellstructured programs. IEEE Transactions on Software Engineering, 1994, 20(12): 948–976
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])
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
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
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])
Parnas D L. Mathematical descriptions and specification of software. In: Proceedings of IFIP World Congress 1994. 1994, 354–359
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
Peters D K, Parnas D L. Requirements-based monitors for real-time systems. IEEE Transactions on Software Engineering, 2002, 28(2): 146–158
Peters D K, Parnas D L. Using test oracles generated from program documentation. IEEE Transactions on Software Engineering, 1998, 24(3): 161–173
Liu S L. Generating test cases from software documentation. McMaster University, CAS/SQRL, http://www.cas.mcmaster.ca/sqrl/sqrl_reports.html
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
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
Dijkstra E W. A Discipline of Programming. Englewood Cliffs: Prentice Hall, 1976
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
Parnas D L. Really rethinking’ formal methods’. Computer, 2010, 43(1): 28–34
Parnas D L. How engineering mathematics can improve software. In: Proceedings of the 2011 International Conference on Engineering of Reconfigurable Systems and Algorithms. 2011
Parnas D L. Stop the numbers game. Communications of the ACM, 2007, 50(11): 19–21
Hoffman D M, Weiss D M. Software Fundamentals: Collected Papers by David L. Parnas. Boston: Addison-Wesley, 2001 17–39
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-012-2904-2