skip to main content
10.1145/3297280.3297497acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Specification of temporal properties of functions for runtime verification

Published: 08 April 2019 Publication History

Abstract

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.

References

[1]
Rajeev Alur, Kousha Etessami, and P Madhusudan. A Temporal Logic of Nested Calls and Returns. Tacas, 2988(Tacas):467--481, 2004.
[2]
Shaun Azzopardi, Christian Colombo, Jean Paul Ebejer, Edward Mallia, and Gordon Pace. Runtime verification using VALOUR. In Giles Reger and Klaus Havelund, editors, RV-CuBES 2017, volume 3 of Kalpa Publications in Computing, pages 10--18. EasyChair, 2017.
[3]
Howard Barringer and Klaus Havelund. Tracecontract: A scala DSL for trace analysis. In FM 2011: Formal Methods - 17th International Symposium on Formal Methods, Limerick, Ireland, June 20--24, 2011. Proceedings, pages 57--72, 2011.
[4]
Howard Barringer, David E. Rydeheard, and Klaus Havelund. Rule systems for run-time monitoring: from eagle to ruler. J. Log. Comput., 20(3):675--706, 2010.
[5]
Ezio Bartocci, Ylies Falcone, Adrian Francalanza, Martin Leucker, and Giles Reger. An introduction to runtime verification. In Lectures on Runtime Verification - Introductory and Advanced Topics, volume 10457 of LNCS, pages 1--23. 2018.
[6]
David A. Basin, Srdan Krstic, and Dmitriy Traytel. Almost event-rate independent monitoring of metric dynamic logic. In Runtime Verification - 17th International Conference, RV 2017, Seattle, WA, USA, September 13--16, 2017, Proceedings, pages 85--102, 2017.
[7]
Andreas Bauer, Martin Leucker, and Christian Schallhart. Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol., 20(4):14:1--14:64, 2011.
[8]
The CMS Collaboration. The CMS experiment at the CERN LHC. Journal of Instrumentation, 3(08):S08004, 2008.
[9]
Christian Colombo, Gordon J. Pace, and Gerardo Schneider. LARVA --- safer monitoring of real-time java programs (tool paper). In Dang Van Hung and Padmanabhan Krishnan, editors, SEFM 2009, pages 33--37. IEEE Computer Society, 2009.
[10]
Joshua Heneage Dawes and Giles Reger. Specification of State and Time Constraints for Runtime Verification of Functions. 2018. arXiv:1806.02621.
[11]
Giuseppe De Giacomo and Moshe Y. Vardi. Linear temporal logic and linear dynamic logic on finite traces. In IJCAI 2013, Proceedings of the 23rd International Joint Conference on Artificial Intelligence, Beijing, China, August 3--9, 2013, pages 854--860, 2013.
[12]
Normann Decker, Martin Leucker, and Daniel Thoma. jUnit<sup>rv</sup>-adding runtime verification to jUnit. In Guillaume Brat, Neha Rungta, and Arnaud Venet, editors, NFM 2013, volume 7871 of LNCS, pages 459--464. Springer, 2013.
[13]
Lyndon Evans and Philip Bryant. LHC machine. Journal of Instrumentation, 3(08):S08001, 2008.
[14]
Yliès Falcone, Klaus Havelund, and Giles Reger. A tutorial on runtime verification. In Engineering Dependable Software Systems, pages 141--175. 2013.
[15]
Ylies Falcone, Srdan Krstic, Giles Reger, and Dmitriy Traytel. A taxonomy for classifying runtime verification tools. In Proceedings of the 18th International Conference on Runtime Verification, 2018.
[16]
Klaus Havelund. Rule-based runtime verification revisited. International Journal on Software Tools for Technology Transfer, 17(2):143--170, Apr 2015.
[17]
Klaus Havelund and Giles Reger. Specification of parametric monitors - quantified event automata versus rule systems. In Formal Modeling and Verification of Cyber-Physical Systems, 2015.
[18]
Klaus Havelund and Giles Reger. Runtime verification logics - a language design perspective. In Models, Algorithms, Logics and Tools, pages 310--338, 2017.
[19]
Moonzoo Kim, Mahesh Viswanathan, Sampath Kannan, Insup Lee, and Oleg Sokolsky. Java-mac: A run-time assurance approach for java programs. Form. Methods Syst. Des., 24(2):129--155, March 2004.
[20]
Ron Koymans. Specifying real-time properties with metric temporal logic. Real-Time Systems, 2(4):255--299, nov 1990.
[21]
Gary T. Leavens, Albert L. Baker, and Clyde Ruby. JML: a Java modeling language. In In Formal Underpinnings of Java Workshop at OOPSLA'98, 1998.
[22]
Patrick O'Neil Meredith, Dongyun Jin, Dennis Griffith, Feng Chen, and Grigore Rosu. An overview of the MOP runtime verification framework. STTT, 14(3):249--289, 2012.
[23]
Giles Reger, Helena Cuenca Cruz, and David Rydeheard. MarQ: monitoring at runtime with QEA. In TACAS'15, 2015.
[24]
Julien Signoles. E-ACSL: Executable ANSI/ISO C Specification Language, version 1.5--4, March 2014. frama-c.com/download/e-acsl/e-acsl.pdf.
[25]
Prasanna Thati and Grigore Rosu. Monitoring algorithms for metric temporal logic specifications. Electr. Notes Theor. Comput. Sci., 113:145--162, 2005.

Cited By

View all
  • (2024)Checking Complex Source Code-Level Constraints using Runtime VerificationCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663845(255-265)Online publication date: 10-Jul-2024
  • (2024)Diagnosing Violations of Time-based Properties Captured in iCFTLProceedings of the 2024 IEEE/ACM 12th International Conference on Formal Methods in Software Engineering (FormaliSE)10.1145/3644033.3644375(33-43)Online publication date: 14-Apr-2024
  • (2022)Specifying Source Code and Signal-based Behaviour of Cyber-Physical System ComponentsFormal Aspects of Component Software10.1007/978-3-031-20872-0_2(20-38)Online publication date: 10-Nov-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing
April 2019
2682 pages
ISBN:9781450359337
DOI:10.1145/3297280
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 April 2019

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

SAC '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Checking Complex Source Code-Level Constraints using Runtime VerificationCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663845(255-265)Online publication date: 10-Jul-2024
  • (2024)Diagnosing Violations of Time-based Properties Captured in iCFTLProceedings of the 2024 IEEE/ACM 12th International Conference on Formal Methods in Software Engineering (FormaliSE)10.1145/3644033.3644375(33-43)Online publication date: 14-Apr-2024
  • (2022)Specifying Source Code and Signal-based Behaviour of Cyber-Physical System ComponentsFormal Aspects of Component Software10.1007/978-3-031-20872-0_2(20-38)Online publication date: 10-Nov-2022
  • (2022)Towards Specificationless Monitoring of Provenance-Emitting SystemsRuntime Verification10.1007/978-3-031-17196-3_14(253-263)Online publication date: 28-Sep-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
  • (2020)Analysis Tools for the VyPR Performance Analysis Framework for PythonEPJ Web of Conferences10.1051/epjconf/202024505013245(05013)Online publication date: 16-Nov-2020
  • (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
  • (2019)Explaining Violations of Properties in Control-Flow Temporal LogicRuntime Verification10.1007/978-3-030-32079-9_12(202-220)Online publication date: 8-Oct-2019
  • (2019)VyPR2: A Framework for Runtime Verification of Python Web ServicesTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-17465-1_6(98-114)Online publication date: 3-Apr-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media