Abstract
This paper is concerned with runtime verification of object-oriented software system. We propose 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. We have implemented the algorithm in our monitoring tool Mufin. Benchmarks show that the targeted class of properties can be monitored extremely efficient and runtime overhead is reduced substantially compared to other tools.
Original language | English |
---|---|
Title of host publication | Tools and Algorithms for the Construction and Analysis of Systems |
Editors | J.-F Raskin , M. Chechik |
Number of pages | 17 |
Volume | 9636 |
Place of Publication | Berlin |
Publisher | Springer Verlag |
Publication date | 09.04.2016 |
Pages | 868-884 |
ISBN (Print) | 978-3-662-49673-2 |
ISBN (Electronic) | 978-3-662-49674-9 |
DOIs | |
Publication status | Published - 09.04.2016 |
Event | 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Eindhoven, Netherlands Duration: 02.04.2016 → 08.04.2016 Conference number: 173509 |