Skip to Main Content
Conventional software verification and validation (V&V) approaches for real-time and reactive programs are not practical because applying formal methods is too complex and testing methods are incomplete. It seems runtime verification of programs is a novel approach as a compliment to testing methods. We use event-based real-time logic (ERL) as a specification language in order to simply specify safety properties. By applying aspect-oriented approach to instrumentation, we integrate runtime verification module (i.e. Monitor) with program itself and minimize overhead of runtime verification too. Our proposed method, RVERL, consists of three phases. First, safety properties are extracted from program requirements specification. Second, properties are mapped to timing, functional and deadline aspects which constitute the monitor. Then it is weaved to the program source code. Third, at the execution time, the monitor as a wrapper observes program behavior and protects the program against its misbehavior (i.e., property violations). Experiments on rail road crossing problem show that the RVERL reveals all property violations while overhead of runtime verification is just about 4 percent.