TraceMOP: An Explicit-Trace Runtime Verification Tool for Java

Kevin Guan, Owolabi Legunsen · 2025

We present TraceMOP, an explicit-trace runtime verification (RV) tool. RV monitors if execution traces—sequences of events, e.g., method calls—violate formal specifications. TraceMOP monitors each event as it occurs, but unlike prior RV tools, it also tracks monitored traces explicitly. So, TraceMOP can help researchers address several challenges of using RV in testing, e.g., (i) RV overhead is mostly wasted: 99.87% of monitored traces are duplicates of the other 0.13%; and (ii) RV violations are often flaky. We describe TraceMOP's design, implementation and use via a Maven plugin and GitHub Actions. We evaluate TraceMOP on 105 open-source projects. TraceMOP preserves the monitoring functions of a mature RV tool; it is up to 11x faster and uses up to 231.7GB less memory than our previous prototype. We use TraceMOP to debug four flaky violations; it is open sourced (https://github.com/SoftEngResearch/tracemop) and a demo is at https://tracemop.gkevin.com/demo.

Read the paper · More papers on PaperTik