Literature review: Software Failure

By Jesper Kjeldgaard, M00318018

To understand the LASCAD system failure, looking at general traits of other software system failures is important. This literature review covers four journals and articles about software failures. The review is aimed at finding relevant information on the source of software failures.

By studying the GCC (open source C compiler) and a large-scale NASA mission, Hamill et. al. discovered that the three most common sources of software failures were requirement faults, code faults and data problems [Hamill, 2009]. Their approach was to analyse data collected in bugtracking and version control systems, hence this reference could prove useful if such systems are available for the LASCAD project. The reference provides a lot of data to support it's claims, making it possible to reference specific findings if desired. In 1996 a test flight (flight 501) of a space rocket project, named Ariane 5, resulted in a failure of the a part of the rockets software system causing it to self destruct 37 seconds into the launch. The Ariane 5 Flight 501 Failure resulted in a loss of $370 million. Le Lann, G. discovered that the software errors that caused the Ariane 5 Flight 501 Failure was made possible due to bad software engineering practices [Le Lann, 1997]. The software errors causing the Ariane 5 failure was enabled by not following a rigorous software engineering approach. The Ariane 5 project does not resemble the LASCAD project much, but proves that even trivial software errors can have catastrophic results. Almost 20% of large software projects either fail completely or are cancelled [Jones, 1995]. Amongst those projects that do succeed around 66% are not delivered on schedule or come with substantial cost increases. The causes for most cases are caused by lacking or bad project management. As this reference [Jones, 1995] is from a magazine, it does not provide in-depth discussion or descriptions of the proposed results. It is not possible to avoid all software errors, but most of the errors that cause software failure today are caused by errors that easily could be prevented [Charette, 2005]. Some of the most common causes of software failures stated in this reference are; unrealistic goals and unmanaged risks. Some of the cases studied in this reference got attention by the public media in a fashion similar to the LASCAD project. All the covered references point in the same direction of what is the cause of software failure.

The common sources of software failure found in the covered literature are requirement faults, code faults, data problems and bad software engineering and project management practices. These common errors could be prevented by following a software engineering approach and applying project management techniques.

[Hamill, 2009] Hamill, M.; Goseva-Popstojanova, K.; , "Common Trends in Software Fault and Failure Data,"Software Engineering, IEEE Transactions on, vol.35, no.4, pp.484-496, July-Aug. 2009. doi: 10.1109/TSE.2009.3 tp=&arnumber=4760152&isnumber=5186358 [Le Lann, 1997] Le Lann, G.; , "An analysis of the Ariane 5 flight 501 failure-a system engineering perspective," Engineering of Computer-Based Systems, 1997. Proceedings., International Conference and Workshop on , vol., no., pp.339346, 24-28 Mar 1997 doi: 10.1109/ECBS.1997.581900 URL: tp=&arnumber=581900&isnumber=12639 [Jones, 1995] Jones, C.; , "Patterns of large software systems: failure and success," Computer , vol.28, no.3, pp.86-87, Mar 1995 doi: 10.1109/2.366170 URL: tp=&arnumber=366170&isnumber=8390

[Charette, 2005] Charette, R.N.; , "Why software fails [software failure]," Spectrum, IEEE , vol.42, no.9, pp. 42- 49, Sept. 2005 doi: 10.1109/MSPEC.2005.1502528 URL: tp=&arnumber=1502528&isnumber=32236

Sign up to vote on this title
UsefulNot useful