Abstract
Despite the established benefits of formal methods, they remain poorly accepted by industrial software developers. This paper examines the issues surrounding the use of formal methods in industrial software development. It is argued that the reason for their limited use is that the introduction of formalism into software development is a more complex undertaking than it appears to be. This idea is explored in three areas: the software lifecycle; software dependability analysis; and development tools and environments. It is shown that many capabilities must be present in order for formal methods to fit into the complete software lifecycle, that the results of formal methods are difficult to use in software dependability analysis, and that the development of tools to support formal methods comprehensively is a difficult undertaking.
Preview
Unable to display preview. Download preview PDF.
References
Ardis, M., Chaves, J., Jagadeesan, L., Mataga, P., Puchol, C., Staskauskas, M., Von Olnhausen, J.: A framework for evaluating specification methods for reactive systems: Experience report. IEEE Trans. on Software Engr. 22(6) (1996) 378–389
Butler, R.: Finelli, G. The infeasibility of quantifying the reliability of life-critical real-time software. IEEE Trans. on Software Engr, 19(1) (1991) 3–12
Craigen, D., Gerhart, S., Ralston, T.: An international survey of industrial applications of formal methods. U.S. Department of Commerce, March (1993)
DeJong, C., Gibble, M., Knight, J., Nakano, L.: Formal specification: A systematic evaluation. Technical Report CS-97-09, Department of Computer Science, University of Virginia, Charlottesville, VA (1997)
Dill, D., Rushby, J.: Acceptance of formal methods: Lessons from hardware design. IEEE Computer 29(4) (1996) 23–24
Faulk, S.: Software requirements: A tutorial. Technical Report NRL/MR/ 5546-95-7775, Naval Research Laboratories, (November 1995)
Gibble, M., Knight, J., Nakano, L., DeJong, C.: Experience report using PVS for a nuclear reactor control system. Technical Report CS-97-13, Department of Computer Science, University of Virginia, Charlottesville, VA (1997)
Hall, A.: What is the formal methods debate about? IEEE Computer, 29(4) (1996) 22–23
Heitmeyer, C., McLean, J.: Abstract requirements specification: A new approach and its application. IEEE Trans. on Software Engr. 9(5) (1983)
Heninger, K.: Specifying software requirements for complex systems: New techniques and their application. IEEE Trans. on Software Engr, 6(1) (1980) 2–13
Holloway, M., Butler, R.: Impediments to industrial use of formal methods. IEEE Computer, 29(4) (1996) 25–26
Houstan, I., King, S.: CICS project report: Experiences and results from the use of Z in IBM. VDM ’91. Formal Software Development Methods, Vol. 1: Conference Contribution. Lecture Notes in Computer Science, 552 Springer Verlag (1991) 588–596
iLogix, Inc.: http://www.ilogix.com/company/success.htm (1997)
Knight, J., DeJong, C., Gibble, M., Nakano, L.: Why are formal methods not used more widely? NASA Langley Formal Methods Workshop, Hampton, VA (1997)
Lutz, R., Ampo, Y.: Experience report: Using formal methods For requirements analysis of critical spacecraft software. 19th Annual Software Engineering Workshop, NASA Goddard Space Flight Center (1994) 231–248
Lyu, M. Handbook of Software Reliability Engineering, IEEE Computer Society Press, Los Alamitos, CA (1995)
Modarres, M.: What Every engineer should know about reliability and risk analysis. Marcel Dekker, New York, NY (1993)
Nobe, C., Warner, W.: Lessons learned from a trial application of requirements modeling using statecharts. Second International Conference on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA (1996) 86–93
Rushby, J.: Formal methods and the certification of critical systems. Technical Report CSL-93-7, SRI International, Menlo Park, CA (1993)
Saaltink, M., Meisels, I.: The Z/EVES Reference Manual. Technical Report TR-97-5493, ORA Inc., Toronto, Canada (1997)
Singpurwalla, N.: The failure rate of software: does it exist? IEEE Trans. on Reliability, 44(3) (1995) 463–469
Sullivan, K., Knight, J.: Experience assessing an architectural approach to large-scale systematic reuse. International Conference on Software Engineering, IEEE Computer Society Press, Los Alamitos, CA (1997) 220–229
Vesely, W., Goldberg, F., Roberts, N., Haasl, F.: Fault Tree Handbook, NUREG-0492, U.S. Nuclear Regulatory Commission, Washington, DC (1981)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Knight, J.C. (1998). Challenges in the utilization of formal methods. In: Ravn, A.P., Rischel, H. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT 1998. Lecture Notes in Computer Science, vol 1486. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055331
Download citation
DOI: https://doi.org/10.1007/BFb0055331
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65003-4
Online ISBN: 978-3-540-49792-9
eBook Packages: Springer Book Archive