Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-030-32079-9_12guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Explaining Violations of Properties in Control-Flow Temporal Logic

Published: 08 October 2019 Publication History

Abstract

Runtime Verification is the process of deciding whether a run of a program satisfies a given property. This work considers the more challenging problem of explaining why a run does or does not satisfy the property. We look at this problem in the context of CFTL, a low-level temporal logic. Our main contribution is a method for reconstructing representative execution paths, separating them into good and bad paths, and producing partial parse trees explaining their differences. This requires us to extend CFTL and our second contribution is a partial semantics used to identify the first violating observation in a trace. This is extended with a notion of severity of violation, allowing us to handle real-time properties sensitive to small timing variations. These techniques are implemented as an extension to the publicly available VyPR2 tool. Our work is motivated by results obtained applying VyPR2 to a web service on the CMS Experiment at CERN and initial tests produce useful explanations for realistic use cases.

References

[3]
Babenko, A., Mariani, L., Pastore, F.: Ava: automated interpretation of dynamically detected anomalies. In: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, ISSTA 2009, pp. 237–248. ACM, New York, NY, USA (2009).
[4]
Ball, T., Larus, J.R.: Efficient path profiling. In: Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture MICRO, vol. 29, pp. 46–57. IEEE Computer Society, Washington, DC, USA (1996). http://dl.acm.org/citation.cfm?id=243846.243857
[5]
Bartocci Ezio, Falcone Yliès, Francalanza Adrian, and Reger Giles Introduction to Runtime Verification Lectures on Runtime Verification 2018 Cham Springer International Publishing 1-33
[6]
Basin D, Krstić S, and Traytel D Lahiri S and Reger G Almost event-rate independent monitoring of metric dynamic logic Runtime Verification 2017 Cham Springer 85-102
[7]
Beer I, Ben-David S, Chockler H, Orni A, and Trefler R Explaining counterexamples using causality Form. Methods Syst. Des. 2012 40 1 20-40
[8]
Christakis M, Heizmann M, Mansur MN, Schilling C, and Wüstholz V Vojnar T and Zhang L Semantic fault localization and suspiciousness ranking Tools and Algorithms for the Construction and Analysis of Systems 2019 Cham Springer International Publishing 226-243
[9]
Dawes, J.H., Reger, G.: Specification of State and Time Constraints for Runtime Verification of Functions (2018). arXiv:1806.02621
[10]
Dawes, J.H., Reger, G.: Specification of temporal properties of functions for runtime verification. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, pp. 2206–2214. SAC 2019. ACM, New York, NY, USA (2019).
[11]
Dawes JH, Reger G, Franzoni G, Pfeiffer A, and Govi G Vojnar T and Zhang L VyPR2: a framework for runtime verification of python web services Tools and Algorithms for the Construction and Analysis of Systems 2019 Cham Springer International Publishing 98-114
[12]
Donzé A and Maler O Chatterjee K and Henzinger TA Robust satisfaction of temporal logic over real-valued signals Formal Modeling and Analysis of Timed Systems 2010 Heidelberg Springer 92-106
[13]
Ferrère T, Maler O, and Ničković D Finkbeiner B, Pu G, and Zhang L Trace diagnostics using temporal implicants Automated Technology for Verification and Analysis 2015 Cham Springer International Publishing 241-258
[14]
Groce A, Chaki S, Kroening D, and Strichman O Error explanation with distance metrics Int. J. Softw. Tools Technol. Transfer 2006 8 3 229-247
[15]
Havelund, K., Reger, G.: Specification of parametric monitors - quantified event automata versus rule systems. In: Formal Modeling and Verification of Cyber-Physical Systems (2015)
[16]
Kim M, Viswanathan M, Kannan S, Lee I, and Sokolsky O Java-MaC: a run-time assurance approach for java programs Form. Methods Syst. Des. 2004 24 2 129-155
[17]
Leucker Martin and Schallhart Christian A brief account of runtime verification The Journal of Logic and Algebraic Programming 2009 78 5 293-303
[18]
Meredith PO, Jin D, Griffith D, Chen F, and Rosu G An overview of the MOP runtime verification framework STTT 2012 14 3 249-289
[19]
Reger G Bartocci E and Majumdar R Suggesting edits to explain failing traces Runtime Verification 2015 Cham Springer 287-293
[20]
Reger G, Cruz HC, and Rydeheard D Baier C and Tinelli C MarQ: monitoring at runtime with QEA Tools and Algorithms for the Construction and Analysis of Systems 2015 Heidelberg Springer 596-610
[21]
Reiter R A theory of diagnosis from first principles Artif. Intell. 1987 32 1 57-95 http://www.sciencedirect.com/science/article/pii/0004370287900622
[22]
Renieris, M., Reiss, S.P.: Fault localization with nearest neighbor queries. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering, ASE 2003, pp. 30–39. IEEE Press, Piscataway, NJ, USA (2003).
[23]
Reps T, Ball T, Das M, and Larus J Jazayeri M and Schauer H The use of program profiling for software maintenance with applications to the year 2000 problem Software Engineering – ESEC/FSE 1997 1997 Berlin Heidelberg, Berlin, Heidelberg Springer 432-449
[24]
Signoles, J.: E-ACSL: Executable ANSI/ISO C Specification Language, version 1.5-4, March 2014. frama-c.com/download/e-acsl/e-acsl.pdf
[25]
de Souza, H.A., Chaim, M.L., Kon, F.: Spectrum-based software fault localization: A survey of techniques, advances, and challenges. CoRR abs/1607.04347 (2016). http://arxiv.org/abs/1607.04347
[26]
Wong WE, Gao R, Li Y, Abreu R, and Wotawa F A survey on software fault localization IEEE Trans. Softw. Eng. 2016 42 8 707-740

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Runtime Verification: 19th International Conference, RV 2019, Porto, Portugal, October 8–11, 2019, Proceedings
Oct 2019
423 pages
ISBN:978-3-030-32078-2
DOI:10.1007/978-3-030-32079-9

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 08 October 2019

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Exemplifying Parametric Timed Specifications over Signals with Bounded BehaviorNASA Formal Methods10.1007/978-3-031-06773-0_25(470-488)Online publication date: 24-May-2022
  • (2021)Specifying Properties over Inter-procedural, Source Code Level Behaviour of ProgramsRuntime Verification10.1007/978-3-030-88494-9_2(23-41)Online publication date: 11-Oct-2021
  • (2021)Towards Probabilistic Session-Type MonitoringCoordination Models and Languages10.1007/978-3-030-78142-2_7(106-120)Online publication date: 14-Jun-2021
  • (2020)Analysing the Performance of Python-Based Web Services with the VyPR FrameworkRuntime Verification10.1007/978-3-030-60508-7_4(67-86)Online publication date: 6-Oct-2020

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media