The use of mathematics in software quality assurance

Frontiers of Computer Science in China - Tập 6 - Trang 3-16 - 2012
David Lorge Parnas1
1Middle Road Software, Inc., Ottawa, Canada

Tóm tắt

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.

Tài liệu tham khảo

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