Author_Institution :
Dept. of Comput. Sci., Mississippi State Univ., MS, USA
Abstract :
With respect to safety-critical systems, specific techniques do exist for statically analyzing such systems. However, with respect to dynamic analyses (i.e., testing techniques), no specific techniques exist; instead, developers must use general-purpose testing techniques such as branch testing, path testing, and boundary-value testing. While certain other areas, such as real-time systems, have specific testing techniques (e.g., thread testing), safety-critical systems still lack such techniques. This paper, therefore, presents some initial research that addresses this problem. The techniques focus on using fault trees and event trees as oracles for testing safety-critical software systems. The goal is to allow the developer to focus the usually limited amount of testing time on the detection of critical faults. These techniques also have applications to other subsets of high-integrity systems (both software- and hardware-based systems). The effect of these techniques is to develop test cases that will reveal only critical faults (i.e., they ignore non-critical faults)
Keywords :
failure analysis; formal specification; program testing; program verification; reliability theory; safety; software reliability; boundary-value testing; branch testing; critical faults; dynamic analyses; event trees; fault trees; high-integrity systems; oracles; path testing; real-time systems; safety-critical software systems; Application software; Circuit faults; Computer science; Failure analysis; Fault trees; Microwave ovens; Software safety; Software systems; System testing; Tree graphs;