Timed Vacuity
===========
Vacuity is a leading sanity check in model-checking, applied when the system is found to satisfy the specification. The check detects situations where the specification passes in a trivial way, say when a specification that requires every request to be followed by a grant is satisfied in a system with no requests. Such situations typically reveal problems in the modelling of the system or the specification, and indeed vacuity detection is a part of most industrial model-checking tools.
Existing research and tools for vacuity concern discrete-time systems and specification formalisms. We introduce {\em real-time vacuity}, which aims to detect problems with real-time modelling.
Real-time logics are used for the specification and verification of systems with a continuous-time behavior.
We study vacuity for the branching real-time logic TCTL, and focus on vacuity with respect to the time constraints in the specification. Specifically, the logic TCTL includes the temporal operator $U^J$, which specifies real-time eventualities in real-time systems: the parameter $J \subseteq \realpos$ is an interval with integral boundaries that bounds the time in which the eventuality should hold. We define several tightenings for the $U^J$ operator. These tightenings require the eventuality to hold within a strict subset of $J$.
We prove that vacuity detection for TCTL is PSPACE-complete, thus it does not increase the complexity of model-checking of TCTL. Our contribution involves an extension, termed TCTL$^+$, of TCTL, which allows the interval $J$ not to be continuous, and for which model checking stays in PSPACE.
Finally, we describe a method for ranking vacuity results according to their significance.