Specification of temporal properties of functions for runtime verification

Runtime verification (RV) is the process of checking whether a run of a computer system satisfies a specification. RV techniques often utilise specification languages that are (i) reasonably expressive, and (ii) relatively abstract (i.e. they operate on a level of abstraction separating them from the monitored system). Inspired by the problem of monitoring systems involved in processing data generated by the high energy physics experiments at CERN, we propose a specification language, Control-Flow Temporal Logic (CFTL), whose distinguishing characteristic is its tight coupling with the control-flow of the programs for which it is used to write specifications. The coupling admits an efficient monitoring algorithm and optimised instrumentation techniques based on static analysis.

[1]  Martin Leucker,et al.  Runtime Verification for LTL and TLTL , 2011, TSEM.

[2]  Klaus Havelund,et al.  Specification of Parametric Monitors Quantified Event Automata versus Rule Systems , 2015 .

[3]  Gordon J. Pace,et al.  Runtime Verification using VALOUR , 2017, RV-CuBES.

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

[5]  Gordon J. Pace,et al.  LARVA --- Safer Monitoring of Real-Time Java Programs (Tool Paper) , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[6]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

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

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

[9]  João Paulo Teixeira,et al.  The CMS experiment at the CERN LHC , 2008 .

[10]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[11]  Grigore Rosu,et al.  Monitoring Algorithms for Metric Temporal Logic Specifications , 2004, RV@ETAPS.

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

[13]  Mahesh Viswanathan,et al.  Java-MaC: A Run-Time Assurance Approach for Java Programs , 2004, Formal Methods Syst. Des..

[14]  Giuseppe De Giacomo,et al.  Linear Temporal Logic and Linear Dynamic Logic on Finite Traces , 2013, IJCAI.

[15]  David A. Basin,et al.  Almost Event-Rate Independent Monitoring of Metric Dynamic Logic , 2017, RV.

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

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

[18]  KoymansRon Specifying real-time properties with metric temporal logic , 1990 .

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

[20]  Giles Reger,et al.  Specification of State and Time Constraints for Runtime Verification of Functions , 2018, ArXiv.

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

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

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

[24]  Martin Leucker,et al.  jUnitRV-Adding Runtime Verification to jUnit , 2013, NASA Formal Methods.