Two Generalisations of Roşu and Chen’s Trace Slicing Algorithm A

Clemens Ballarin


22 Sep 2014
5th International Conference, RV 2014, Proceedings, B. Bonakdarpour and S.A. Smolka, RV 2014, LNCS 8734, pages 15–30, 2014 ©



Roşu and Chen's algorithm is at the core of the JavaMOP runtime verification tool.  The paper presents significant generalisations over the original algorithm while maintaining its unprecedented performance.

Roşu and Chen’s trace analysis algorithm identifies activity streams in a monitored application based on data (such as memory locations) and groups events accordingly into slices. It can be generalised to assign several such activity streams to the same slice, even if data is unrelated. This is useful for monitoring scheduling algorithms, which linearise activity streams that are not necessarily related. The algorithm can be generalised further to impose constraints on the generated slices such that, for example, each trace relates a high-priority activity to a low-priority activity. There are no limitations on constraints other than that constraint solvers efficient enough for runtime analysis need to be available.

Download: Lecture Notes in Computer Science Volume 8734, 2014, pp 15-30