Issue No. 04 - July/August (1991 vol. 8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.300036
<p>The software fault-tree analysis technique is explained. It is then extended to allow its use on a more complex language involving such features as concurrency and exception handling. Ada is used as the example language because many safety-critical projects are using or planning to use Ada. It also contains complex, real-time programming facilities found in other languages used in these types of projects. Software fault-tree analysis uses failure-mode templates to generate the fault tree. The templates provided can be used to define the procedures for applying the technique to programs written in most other declarative languages. To explain the use of the templates an example Ada program, for a traffic-light-control system, is analyzed. The cost and practicality of the method and its implications for software reuse are assessed. The application of the safety analysis procedures to requirements modeling and specification languages is considered.</p>
software fault-tree analysis technique; concurrency; exception handling; Ada; safety-critical projects; real-time programming; failure-mode templates; declarative languages; traffic-light-control system; software reuse; safety analysis procedures; requirements modeling; specification languages; Ada; multiprocessing programs; program verification; real-time systems; software reliability; software reusability; specification languages; system recovery; traffic computer control
S. S. Cha, T. J. Shimeall and N. G. Leveson, "Safety Verification of Ada Programs Using Software Fault Trees," in IEEE Software, vol. 8, no. , pp. 48-59, 1991.