The significance of software systems has rapidly increased. The assurance of software systems has become a critical requirement of the information age. Formal verification on the design of a system and testing on a system implementation with a variety of inputs has been used for this purpose. However, verifying a design can not guarantee the correctness of an implementation. Although testing is performed on implementation, it does not give formal guarantees because it is not possible to test exhaustively. Run-time formal analysis is proposed to combat the weaknesses of formal verification and testing. Run-time formal analysis aims to assure the correctness of the current execution at run-time. Run-time formal analysis is performed based on a formal specification of system requirements. This dissertation proposes a framework for run-time formal analysis. We investigate general issues for the framework. We show that a set of the properties run-time formal analysis can detect is a subset..