Model-Driven Trace Diagnostics for Pattern-based Temporal Specifications

Offline trace checking tools check whether a specification holds on a log of events recorded at run time; they yield a verification verdict (typically a boolean value) when the checking process ends. When the verdict is false, a software engineer needs to diagnose the property violations found in the trace in order to understand their cause and, if needed, decide for corrective actions to be performed on the system. However, a boolean verdict may not be informative enough to perform trace diagnostics, since it does not provide any useful information about the cause of the violation and because a property can be violated for multiple reasons. The goal of this paper is to provide a practical and scalable solution to solve the trace diagnostics problem, in the settings of model-driven trace checking of temporal properties expressed in TemPsy, a pattern-based specification language. The main contributions of the paper are: a model-driven approach for trace diagnostics of pattern-based temporal properties expressed in TemPsy, which relies on the evaluation of OCL queries on an instance of a trace metamodel; the implementation of this trace diagnostics procedure in the TemPsy-Report tool; the evaluation of the scalability of TemPsy-Report, when used for the diagnostics of violations of real properties derived from a case study of our industrial partner. The results show that TemPsy-Report is able to collect diagnostic information from large traces (with one million events) in less than ten seconds; TemPsy-Report scales linearly with respect to the length of the trace and keeps approximately constant performance as the number of violations increases.

[1]  Dejan Nickovic,et al.  Second International Competition on Runtime Verification CRV 2015 , 2016, RV.

[2]  Carlo Ghezzi,et al.  SMT-Based Checking of SOLOIST over Sparse Traces , 2014, FASE.

[3]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

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

[5]  Sylvain Hallé When RV Meets CEP , 2016, RV.

[6]  Philip Koopman,et al.  Monitor Based Oracles for Cyber-Physical System Testing: Practical Experience Report , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[7]  Pedro Merino,et al.  Obtaining Models for Realistic Mobile Network Simulations using Real Traces , 2011, IEEE Communications Letters.

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

[9]  David Luckham,et al.  The power of events - an introduction to complex event processing in distributed enterprise systems , 2002, RuleML.

[10]  Dejan Nickovic,et al.  AMT 2.0: qualitative and quantitative trace analysis with extended signal temporal logic , 2018, International Journal on Software Tools for Technology Transfer.

[11]  Sebastian Fischmeister,et al.  RiTHM: a tool for enabling time-triggered runtime verification for C programs , 2013, ESEC/FSE 2013.

[12]  Lionel C. Briand,et al.  A Model-Driven Approach to Trace Checking of Pattern-Based Temporal Properties , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[13]  D. Ničković,et al.  Second International Competition on Runtime Verification , 2015 .

[14]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[15]  Lionel C. Briand,et al.  Revisiting Model-Driven Engineering for Run-Time Verification of Business Processes , 2014, SAM.

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

[17]  Dejan Nickovic,et al.  Trace Diagnostics Using Temporal Implicants , 2015, ATVA.

[18]  Wei Dou A Model-Driven Approach to Offline Trace Checking of Temporal Properties , 2016 .

[19]  Yi Zhang,et al.  RV-Monitor: Efficient Parametric Runtime Verification with Simultaneous Properties , 2014, RV.

[20]  Viktor Schuppan,et al.  Shortest Counterexamples for Symbolic Model Checking of LTL with Past , 2005, TACAS.

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

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

[23]  Ilan Beer,et al.  Explaining counterexamples using causality , 2009, Formal Methods in System Design.

[24]  Lars Grunske,et al.  Aligning Qualitative, Real-Time, and Probabilistic Property Specification Patterns Using a Structured English Grammar , 2015, IEEE Transactions on Software Engineering.

[25]  Lionel C. Briand,et al.  TemPsy-Check: a Tool for Model-driven Trace Checking of Pattern-based Temporal Properties , 2017, RV-CuBES.

[26]  Ezio Bartocci,et al.  First International Competition on Software for Runtime Verification , 2014, RV.

[27]  Sriram Sankaranarayanan,et al.  Analyzing Neighborhoods of Falsifying Traces in Cyber-Physical Systems , 2017, 2017 ACM/IEEE 8th International Conference on Cyber-Physical Systems (ICCPS).

[28]  Alexandre Donzé,et al.  Breach, A Toolbox for Verification and Parameter Synthesis of Hybrid Systems , 2010, CAV.

[29]  Lionel C. Briand,et al.  A Model-Driven Approach to Offline Trace Checking of Temporal Properties with OCL , 2014 .