From Parametric Trace Slicing to Rule Systems

Parametric runtime verification is the process of verifying properties of execution traces of (data carrying) events produced by a running system. This paper continues our work exploring the relationship between specification techniques for parametric runtime verification. Here we consider the correspondence between trace-slicing automata-based approaches and rule-systems. The main contribution is a translation from quantified automata to rule-systems, which has been implemented in Scala. This then allows us to highlight the key differences in how the two formalisms handle data, an important step in our wider effort to understand the correspondence between different specification languages for parametric runtime verification.

[1]  Klaus Havelund,et al.  A Tutorial on Runtime Verification , 2013, Engineering Dependable Software Systems.

[2]  Ezio Bartocci,et al.  First international Competition on Runtime Verification: rules, benchmarks, tools, and final results of CRV 2014 , 2017, International Journal on Software Tools for Technology Transfer.

[3]  Klaus Havelund,et al.  Rule-based runtime verification revisited , 2015, International Journal on Software Tools for Technology Transfer.

[4]  Felix Klaedtke,et al.  MONPOLY: Monitoring Usage-Control Policies , 2011, RV.

[5]  David E. Rydeheard,et al.  From First-order Temporal Logic to Parametric Trace Slicing , 2015, RV.

[6]  David E. Rydeheard,et al.  From Parametric Trace Slicing to Rule Systems , 2018 .

[7]  David E. Rydeheard,et al.  MarQ: Monitoring at Runtime with QEA , 2015, TACAS.

[8]  Martin Leucker,et al.  Monitoring Modulo Theories , 2014, TACAS.

[9]  César Sánchez,et al.  Foundations of Boolean stream runtime verification , 2016, Theor. Comput. Sci..

[10]  Yliès Falcone,et al.  A taxonomy for classifying runtime verification tools , 2018, International Journal on Software Tools for Technology Transfer.

[11]  Bernd Finkbeiner,et al.  LOLA: runtime monitoring of synchronous systems , 2005, 12th International Symposium on Temporal Representation and Reasoning (TIME'05).

[12]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[13]  Klaus Havelund,et al.  Monitoring Events that Carry Data , 2018, Lectures on Runtime Verification.

[14]  Howard Barringer,et al.  Rule Systems for Run-time Monitoring: from Eagle to RuleR , 2010, J. Log. Comput..

[15]  Klaus Havelund,et al.  Specification of Parametric Monitors , 2015, SyDe Summer School.

[16]  Martin Leucker,et al.  A brief account of runtime verification , 2009, J. Log. Algebraic Methods Program..

[17]  Grigore Rosu,et al.  An overview of the MOP runtime verification framework , 2012, International Journal on Software Tools for Technology Transfer.

[18]  Koushik Sen,et al.  Rule-Based Runtime Verification , 2004, VMCAI.

[19]  Ezio Bartocci,et al.  Introduction to Runtime Verification , 2018, Lectures on Runtime Verification.

[20]  Volker Stolz,et al.  Temporal Assertions using AspectJ , 2006, Electron. Notes Theor. Comput. Sci..

[21]  Howard Barringer,et al.  Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors , 2012, FM.

[22]  Giles Reger,et al.  Automata based monitoring and mining of execution traces , 2014 .

[23]  Klaus Havelund,et al.  Runtime Verification Logics A Language Design Perspective , 2017, Models, Algorithms, Logics and Tools.

[24]  Grigore Rosu,et al.  Parametric Trace Slicing and Monitoring , 2009, TACAS.

[25]  Jan-Christoph Küster,et al.  The ins and outs of first-order runtime verification , 2015, Formal Methods Syst. Des..

[26]  S. Fischmeister,et al.  Parallelized Runtime Verification of First-order LTL Specifications , 2014 .

[27]  Sylvain Hallé,et al.  Third International Competition on Runtime Verification - CRV 2016 , 2016, RV.

[28]  Sylvain Hallé,et al.  Runtime Monitoring of Stream Logic Formulae , 2015, FPS.

[29]  Howard Barringer,et al.  TraceContract: A Scala DSL for Trace Analysis , 2011, FM.