Mufin–Runtime Monitoring with Union-Find Structures

Mufin–Runtime Monitoring with Union-Find StructuresMufin is a tool for runtime verification of object-oriented software system. It uses a novel algorithm for monitoring the individual behaviour and interaction of an unbounded number of runtime objects. This allows for evaluating complex correctness properties that take runtime data in terms of object identities into account. In particular, the underlying formal model can express hierarchical interdependencies of individual objects. Currently, the most efficient monitoring approaches for such properties are based on lookup tables. In contrast, the proposed algorithm uses union-find data structures to manage individual instances and thereby accomplishes a significant performance improvement. The time complexity bounds of the very efficient operations on union-find structures transfer to our monitoring algorithm: the execution time of a single monitoring step is guaranteed logarithmic in the number of observed objects. The amortised time is bound by an inverse of Ackermann’s function. Benchmarks show that the targeted class of properties can be monitored extremely efficient and runtime overhead is reduced substantially compared to other tools.

Publications and Further Information

The details of the implemented algorithm are described in

  • Normann Decker, Jannis Harder, Torben Scheffel, Malte Schmitz, Daniel Thoma: Runtime Monitoring with Union-Find Structures. In Marsha Chechik, Jean-François Raskin (Eds.): International Conference on Tools and Algorithms for the Construction and Analysis of Systems, International Conference, TACAS 2016, LNCS 9636, Springer (2016).

See also the presentation slides for TACAS 2016.

Usage

Coming soon. Stay tuned...

Downloads

Coming soon. Stay tuned...

Benchmarks

Coming soon. Stay tuned...

People

Mufin is developed and maintained by

For more information feel free to contact them.

Acknowledgements

  •   The project Mufin was undertaken partly in the scope of our engagement in the project CONIRAS.
  • The work was partially supported by the European Cooperation in Science and Technology (COST Action ARVI)