MightyPPL: Verification of MITL with Past and Pnueli Modalities
Hsi-Ming Ho, Shankara Narayanan Krishna, Khushraj Madnani, Rupak Majumdar, Paritosh Pandya
TL;DR
This work tackles the expressiveness gap of MITL by introducing MITPPL, an extension that adds Past and Pnueli modalities. MightyPPL provides a fully compositional translation from MITPPL to standard timed automata via tester automata, enabling satisfiability and model checking against multiple back-ends for both finite and infinite words. Key innovations include a bounded abstraction for general intervals, a sequentialisation technique to control state space growth, and a symbolic encoding of transitions to improve efficiency. The implementation demonstrates substantial performance gains across diverse benchmarks (including real-time CPS scenarios) and maintains broad back-end compatibility, highlighting the approach's practical impact for expressive real-time specification verification.
Abstract
Metric Interval Temporal Logic (MITL) is a popular formalism for specifying properties of reactive systems with timing constraints. Existing approaches to using MITL in verification tasks, however, have notable drawbacks: they either support only limited fragments of the logic or allow for only incomplete verification. This paper introduces MightyPPL, a new tool for translating formulae in Metric Interval Temporal Logic with Past and Pnueli modalities (MITPPL) over the pointwise semantics into timed automata. MightyPPL enables satisfiability and model checking of a much more expressive specification logic over both finite and infinite words and incorporates a number of performance optimisations, including a novel symbolic encoding of transitions and a symmetry reduction technique that leads to an exponential improvement in the number of reachable discrete states. For a given MITPPL formula, MightyPPL can generate either a network of timed automata or a single timed automaton that is language-equivalent and compatible with multiple verification back-ends, including Uppaal, TChecker, and LTSmin, which supports multi-core model checking. We evaluate the performance of the toolchain across various case studies and configuration options.
