Skip to main content
Log in

Software tools for safety-critical software development

  • Special section on The Industrialization of formal methods: A view from formal methods 2003
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

We briefly present a software methodology for safety-critical software, developed over many years to cope with industrial safety-critical applications in the Canadian nuclear industry. Following this we present discussion on software tools that have been used to support this methodology, and software tools that could be used, but have not been used for a variety of reasons. Based on our experience, we also present and motivate a list of high-level requirements for tools that would facilitate the development of safety-critical software using the presented methods, together with a small number of tools that we believe are worth developing in the future.

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. Abraham, R.: Evaluating generalized tabular expressions in software documentation. Technical report CRL No. 346, McMaster University, Hamilton, ON, Canada (1997)

  2. Anderson, P., Reps, T., Teitelbaum, T.: Design and implementation of a fine-grained software inspection tool. IEEE Trans. Softw. Eng. 29(8), 721–733 (2003)

    Article  Google Scholar 

  3. Archer, M., Heitmeyer, C., Riccobene, E.: Proving invariants of i/o automata with tame. Automated Softw. Eng. 9(3), 201–232 (2002)

    Article  Google Scholar 

  4. Autexier, S., Hutter, D., Mossakowski, T., Schairer, A.: The development graph manager MAYA. In: Kirchner, C.R.H. (ed.) Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology, AMAST 2002, LNCS, vol. 2422, pp. 495–501. Saint-Gilles-les- Bains, Reunion Island, France, (2002). Springer, Berlin Heidelberg New York

  5. Concurrent versions system: the open standard for version control, web site at http://www.cvshome.org

  6. Dutertre, B., Stavridou, V.: Formal requirements analysis of an avionics control system. IEEE Trans. Softw. Eng. 23(5), 267–278 (1997)

    Article  Google Scholar 

  7. Heitmeyer, C.: Software cost reduction. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, 2nd edn., Wiley, New York (2002)

  8. Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR*: A toolset for specifying and analyzing software requirements. In: Proceedings of the 10th International Conference on Computer Aided Verification (CAV’98), Vancouver, BC, Canada, (1998) Lecture Notes in Computer Science, vol. 1427, pp. 526–531. Springer, Berlin Heidelberg New York (1998)

  9. Heitmeyer, C., Bull, A., Gasarch, C., Labaw, B.: SCR*: A toolset for specifying and analyzing requirements. In: Proceedings of the 10th Annual Conference on Computer Assurance, Compass ’95, pp. 109–122, Gaithersburg, Maryland. National Institute of Standards and Technology (1995)

  10. Heitmeyer, C., Kirby, J., Jr. Labaw, B., Archer, M., Bharadwaj, R.: Using abstraction and model checking to detect safety violations in requirements specifications. IEEE Trans. Softw. Eng. 24(11), 927–948 (1998)

    Article  Google Scholar 

  11. Heninger, K.L.: Specifying software requirements for complex systems: New techniques and their applications. IEEE Trans. Softw. Eng. 6(1), 2–13 (1980)

    Google Scholar 

  12. Hutter, D.: Management of change in structured verification. In: Proceedings of the 15th IEEE International Conference on Automated Software Engineering (ASE-2000), pp. 23–34. IEEE Computer Society (2000)

  13. Janicki, R., Parnas, D.L., Zucker, J.: Tabular representations in relational documents. In: Brink, C., Kahl, W., Schmidt, G. (eds.) Relational Methods in Computer Science, Advances in Computing Science, chapter 12, pp. 184–196. Springer Wien New York (1997)

  14. Kahl, W.: Compositional syntax and semantics of tables. Technical report 15, Software Quality Research Lab, McMaster University, Hamilton, ON, Canada (2003)

  15. Khedri, R., Wu, R., San, B.: SCENATOR: a prototype tool for requirements inconsistency detection. In: Wang, F., Lee, I. (eds.) Proceedings of the 1st International Workshop on Automated Technology for Verification and Analysis, pp. 75–86, Taiwan, Republic of China. National Taiwan University, National Taiwan University (2003)

  16. Knight, J.C., Hanks, K.S., Travis, S.R.: Tool support for production use of formal techniques. In: Proceedings of the 12th International Symposium on Software Reliability Engineering (ISSRE 2001), Hong Kong, China. IEEE Computer Society (2001)

  17. Kohlhase, M., Anghelache, R.: Towards collaborative content management and version control for structured mathematical knowledge. In: Asperti, A., Buchberger, B., Davenport, J.H. (eds.) Proceedings of the 2nd International Conference on Mathematical Knowledge Management, MKM 2003, LNCS, vol. 2594, pp. 147–161, Bertinoro, Italy. Springer, Berlin Heidelberg New York (2003)

  18. Lawford, M., Froebel, P., Moum, G.: Application of tabular methods to the specification and verification of a nuclear reactor shutdown system. Accepted for publication in Formal Methods in System Design, (2004). Draft available at http://www.cas.mcmaster.ca/lawford/papers/

  19. Lawford, M., Hu, X.: Right on time: Pre-verified software components for constructuion of real-time systems. Technical report 8, Software Quality Research Lab, McMaster University, Hamilton, ON, Canada (2002)

  20. Lawford, M., McDougall, J., Froebel, P., Moum, G.: Practical application of functional and relational methods for the specification and verification of safety critical software. In: Rus, T. (ed.) Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology, AMAST 2000, Iowa City, Iowa, USA, (2000). Lecture Notes in Computer Science, vol. 1816, pp. 73–88. Springer, Berlin Heidelberg New York (2000)

  21. Owre, S., Rushby, J., Shankar, N.: Integration in PVS: Tables, types, and model checking. In: Brinksma, E. (ed.) Tools and Algorithms for the Construction and Analysis of Systems (TACAS ’97), Lecture Notes in Computer Science, vol. 1217, pp. 366–383, Enschede, The Netherlands. Springer, Berlin Heidelberg New York (1997)

  22. Owre, S., Rushby, J., Shankar, N., von Henke, F.: Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Trans. Softw. Eng. 21(2), 107–125 (1995)

    Article  Google Scholar 

  23. Parnas, D.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  24. Parnas, D.L., Madey, J.: Functional documents for computer systems. Sci. Comput. Prog. 25(1), 41–61 (1995)

    Article  Google Scholar 

  25. Parnas, D.L.: Using mathematical models in the inspection of critical software. In: Hinchey, M.G., Bowen, J.P. (eds.) Applications of Formal Methods, International Series in Computer Science, chapter 2, pp. 17–31. Prentice Hall, Englewood Cliffs, NJ (1995)

  26. Parnas, D.L., Clements, P.: A rational design process: How and why to fake it. IEEE Trans. Softw. Eng. 12(2), 251–257 (1986)

    Google Scholar 

  27. Paulson, L.: Better software with open source? IEEE Comput. Mag., pp. 20–21 (2000)

  28. Rumbaugh, J., Jacobson, I., Booch, G.: The unified modeling language reference manual. Addison-Wesley, Reading, MA (1998)

  29. Rushby, J., Owre, S., Shankar, N.: Subtypes for specifications: Predicate subtyping in PVS. IEEE Trans. Softw. Eng. 24(9), 709–720 (1998)

    Article  Google Scholar 

  30. Scheffczyk, J., Borghoff, U.M., Rödig, P., Schmitz, L.: Consistent document engineering: Formalizing type-safe consistency rules for heterogeneous repositories. In: Proceedings of the 2003 ACM Symposium on Document Engineering, pp. 140–149. ACM, New York (2003)

  31. Viola, M.: Ontario Hydro’s experience with new methods for engineering safety critical software. In: Proceedings of the 14th International Conference on Computer Safety, Reliability and Security, SAFECOMP’95, pp. 283–298, Belgirate, Italy. Springer, Berlin Heidelberg New York (1995)

  32. Wassyng, A., Janicki, R.: Using tabular expressions. In: Proceedings of International Conference on Software and Systems Engineering and their Applications, vol. 4, pp. 1–17, Paris (2003)

  33. Wassyng, A., Lawford, M.: Lessons learned from a successful implementation of formal methods in an industrial project. In: Araki, K., Gnesi, S., Mandriioli, D. (eds.) Proceedings of the International Symposium of Formal Methods Europe Proceedings, FME 2003, Lecture Notes in Computer Science, vol. 2805, pp. 133–153. Springer, Berlin Heidelberg New York (2003)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alan Wassyng.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wassyng, A., Lawford, M. Software tools for safety-critical software development. Int J Softw Tools Technol Transfer 8, 337–354 (2006). https://doi.org/10.1007/s10009-005-0209-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-005-0209-6

Keywords

Navigation