Verification of Safety

Abstract Safety has often been equated with reliability and robustness. However, safety needs to be treated as a separate and important system quality. In this paper, software safety is distinguished from these other qualities and formally defined. The paper also examines the possibility of using three different verification approaches — state machines, temporal logic, and fault trees — to verify software safety.