Skip to main content

TP-DejaVu: Combining Operational and Declarative Runtime Verification

  • Conference paper
  • First Online:
Verification, Model Checking, and Abstract Interpretation (VMCAI 2024)

Abstract

Runtime verification (RV) facilitates monitoring the executions of a system, comparing them against a formal specification. A main challenge is to keep the incremental complexity of updating its internal structure, each time a new event is inspected, to a minimum. There is a tradeoff between achieving a low incremental complexity and the expressive power of the used specification formalism. We present an efficient RV tool that allows specifying properties of executions that include data, with the possibility to apply arithmetic operations and comparisons on the data values. In order to be able to apply efficient RV for specifications with these capabilities, we combine two RV methodologies: the first one is capable of performing arithmetic operations and comparisons based on the most recent events; the second is capable of handling many events with data and relating events that occur at arbitrary distance in the observed execution. This is done by two phase RV, where the first phase, which monitors the input events directly and is responsible to the arithmetic calculations and comparisons, feeds the second phase with modified events for further processing. This is implemented as a tool called TP-DejaVu, which extends the DejaVu tool.

The research performed by the first author was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration. The research performed by the third and fourth authors was partially funded by Israeli Science Foundation grant 2454/23: “Validating and controlling software and hardware systems assisted by machine learning”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Data-Availability Statement

The TP-DejaVu tool is open source and publicly available at https://doi.org/10.5281/zenodo.8322559, as well as from the GitHub repository at https://github.com/moraneus/TP-DejaVu.

References

  1. Alpern, B., Schneider, F.B.: Recognizing safety and liveness. Distrib. Comput. 2(3), 117–126 (1987)

    Article  Google Scholar 

  2. Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 44–57. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24622-0_5

  3. Barringer, H., Havelund, K.: TraceContract: a scala DSL for trace analysis. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 57–72. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21437-0_7

  4. Barringer, H., Rydeheard, D., Havelund, K.: Rule systems for run-time monitoring: from Eagle to RuleR. In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 111–125. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-77395-5_10

  5. Basin, D.A., Klaedtke, F., Marinovic, S., Zalinescu, E.: Monitoring of temporal first-order properties with aggregations. Formal Methods Syst. Des. 46(3), 262–285 (2015)

    Google Scholar 

  6. Basin, D.A., Klaedtke, F., Müller, S., Zalinescu, E.: Monitoring metric first-order temporal properties. J. ACM 62(2), 45 (2015)

    Article  MathSciNet  Google Scholar 

  7. Bryant, R.E.: Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)

    Article  MathSciNet  Google Scholar 

  8. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond, LICS, pp. 428–439 (1990)

    Google Scholar 

  9. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking, 1st edn, pp. 1–314, I–XIV. MIT Press (2001). ISBN 978-0-262-03270-4

    Google Scholar 

  10. Colombo, C., Gauci, A., Pace, G.J.: LarvaStat: monitoring of statistical properties (RV 2010), pp. 480–484 (2010)

    Google Scholar 

  11. Dams, D., Havelund, K., Kauffman, S.: A Python library for trace analysis. In: Dang, T., Stolz, V. (eds.) Proceedings of the Runtime Verification: 22nd International Conference, RV 2022, Tbilisi, 28–30 September 2022, pp. 264–273. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-17196-3_15

  12. D’Angelo, B., et al.: LOLA: runtime monitoring of synchronous systems. In: 12th International Symposium on Temporal Representation and Reasoning (TIME), pp. 166–174. IEEE (2005)

    Google Scholar 

  13. Decker, N., Leucker, M., Thoma, D.: Monitoring modulo theories. Softw. Tools Technol. Transf. 18(2), 205–225 (2016)

    Article  Google Scholar 

  14. Duckett, B., Havelund, K., Stewart, L.: Space telemetry analysis with PyContract. In: Haxthausen, A.E., Huang, W.-l., Roggenbach, M. (eds.) Applicable Formal Methods for Safe Industrial Products: Essays Dedicated to Jan Peleska on the Occasion of His 65th Birthday, pp. 272–288. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-40132-9_17

  15. Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley (2010)

    Google Scholar 

  16. Gorostiaga, F., Sánchez, C.: HStriver: a very functional extensible tool for the runtime verification of real-time event streams. In: Huisman, M., Păsăreanu, C., Zhan, N. (eds.) FM 2021. LNCS, vol. 13047, pp. 563–580. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-90870-6_30

  17. Hallé, S., Villemaire, R.: Runtime enforcement of web service message contracts with data. IEEE Trans. Serv. Comput. 5(2), 192–206 (2012)

    Article  Google Scholar 

  18. Havelund, K.: Data Automata in Scala, Theoretical Aspects of Software Engineering Conference (TASE), pp. 1–9. IEEE Computer Society (2014)

    Google Scholar 

  19. Havelund, K.: Rule-based runtime verification revisited. Int. J. Softw. Tools Technol. Transf. 17(2), 143–170 (2014). https://doi.org/10.1007/s10009-014-0309-2

  20. Havelund, K., Peled, D., Ulus, D.: First-order temporal logic monitoring with BDDs. In: FMCAD 2017, pp. 116–123 (2017)

    Google Scholar 

  21. Havelund, K., Peled, D.: An extension of first-order LTL with rules with application to runtime verification. Int. J. Softw. Tools Technol. Transf. 23(4), 547–563 (2021)

    Article  Google Scholar 

  22. Havelund, K., Roşu, G.: Synthesizing monitors for safety properties. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 342–356. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46002-0_24

  23. Kallwies, H., Leucker, M., Schmitz, M., Schulz, A., Thoma, D., Weiss, A.: TeSSLa – an ecosystem for runtime verification. In: Dang, T., Stolz, V. (eds.) RV 2022. LNCS 13498, pp. 314–324. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-17196-3_20

  24. Kim, M., Kannan, S., Lee, I., Sokolsky, O.: Java-MaC: a run-time assurance tool for Java. In: 1st International Workshop on Runtime Verification (RV), ENTCS, vol. 55, no. 2. Elsevier (2001)

    Google Scholar 

  25. Perez, I., Dedden, F., Goodloe, A.: Copilot 3. Technical report, NASA Langley Research Center (2020)

    Google Scholar 

  26. Reger, G, Cruz, H.C., Rydeheard, D.: MarQ: monitoring at runtime with QEA. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 596–610. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_55

  27. Wolper, P.: Temporal logic can be more expressive. Inf. Control 56(1/2), 72–99 (1983)

    Article  MathSciNet  Google Scholar 

  28. TP-DejaVu Tool Source Code. https://doi.org/10.5281/zenodo.8322559

  29. DejaVu Tool Source Code. https://github.com/havelund/dejavu

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Panagiotis Katsaros .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Havelund, K., Katsaros, P., Omer, M., Peled, D., Temperekidis, A. (2024). TP-DejaVu: Combining Operational and Declarative Runtime Verification. In: Dimitrova, R., Lahav, O., Wolff, S. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2024. Lecture Notes in Computer Science, vol 14500. Springer, Cham. https://doi.org/10.1007/978-3-031-50521-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-50521-8_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-50520-1

  • Online ISBN: 978-3-031-50521-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics