Skip to main content

Correct and Efficient Policy Monitoring, a Retrospective

  • Conference paper
  • First Online:
Automated Technology for Verification and Analysis (ATVA 2023)

Abstract

The MonPoly project started over a decade ago to build effective tools for monitoring trace properties, including functional correctness, security, and compliance policies. The original MonPoly tool supported monitoring specifications given in metric first-order temporal logic, an expressive specification language. It handled both the online case, where system events are monitored as they occur, and the offline case, monitoring logs. Our tool has evolved over time into a family of tools and supporting infrastructure to make monitoring both scalable and suitable for high assurance applications. We survey this evolution which includes: (1) developing more expressive monitors, e.g., adding aggregation operators, regular expressions, and limited forms of recursion; (2) delimiting efficiently monitorable fragments and designing new monitoring algorithms for them; (3) supporting parallel and distributed monitoring; (4) using theorem proving to verify monitoring algorithms and explore extensions; and (5) carrying out ambitious case studies.

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 79.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

Notes

  1. 1.

    Although not every safety property expressible in MFOTL has this form [47].

References

  1. Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley, Boston (1995)

    MATH  Google Scholar 

  2. Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley, Boston (2004)

    Google Scholar 

  3. Afrati, F.N., Ullman, J.D.: Optimizing multiway joins in a map-reduce environment. IEEE Trans. Knowl. Data Eng. 23(9), 1282–1298 (2011). https://doi.org/10.1109/TKDE.2011.47

    Article  Google Scholar 

  4. Alexandrov, A., et al.: The Stratosphere platform for big data analytics. VLDB J. 23(6), 939–964 (2014). https://doi.org/10.1007/s00778-014-0357-y

    Article  Google Scholar 

  5. Alford, M.W., Lamport, L., Mullery, G.P.: Basic concepts. In: Paul, M., Siegert, H.J. (eds.) Distributed Systems: Methods and Tools for Specification, An Advanced Course. LNCS, vol. 190, pp. 7–43. Springer, Cham (1984). https://doi.org/10.1007/3-540-15216-4_12

    Chapter  Google Scholar 

  6. Antimirov, V.M.: Partial derivatives of regular expressions and finite automaton constructions. Theor. Comput. Sci. 155(2), 291–319 (1996). https://doi.org/10.1016/0304-3975(95)00182-4

    Article  MathSciNet  MATH  Google Scholar 

  7. Arasu, A., et al.: FastVer2: a provably correct monitor for concurrent, key-value stores. In: Krebbers, R., Traytel, D., Pientka, B., Zdancewic, S. (eds.) 12th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2023), pp. 30–46. ACM (2023). https://doi.org/10.1145/3573105.3575687

  8. Arfelt, E., Basin, D., Debois, S.: Monitoring the GDPR. In: Sako, K., Schneider, S., Ryan, P.Y.A. (eds.) ESORICS 2019. LNCS, vol. 11735, pp. 681–699. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29959-0_33

    Chapter  Google Scholar 

  9. Babcock, B., Babu, S., Datar, M., Motwani, R., Widom, J.: Models and issues in data stream systems. In: Popa, L., Abiteboul, S., Kolaitis, P.G. (eds.) 21st ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS 2002), pp. 1–16. ACM (2002). https://doi.org/10.1145/543613.543615

  10. Barre, B., Klein, M., Soucy-Boivin, M., Ollivier, P.-A., Hallé, S.: MapReduce for parallel trace validation of LTL properties. In: Qadeer, S., Tasiran, S. (eds.) RV 2012. LNCS, vol. 7687, pp. 184–198. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35632-2_20

    Chapter  Google Scholar 

  11. Bartocci, E., Falcone, Y. (eds.): Lectures on Runtime Verification: Introductory and Advanced Topics. LNCS, vol. 10457. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5

    Book  Google Scholar 

  12. Basin, D., Bhatt, B.N., Krstić, S., Traytel, D.: Almost event-rate independent monitoring. Formal Methods Syst. Des. 54(3), 449–478 (2019). https://doi.org/10.1007/s10703-018-00328-3

    Article  MATH  Google Scholar 

  13. Basin, D., Bhatt, B.N., Traytel, D.: Optimal proofs for linear temporal logic on lasso words. In: Lahiri, S.K., Wang, C. (eds.) ATVA 2018. LNCS, vol. 11138, pp. 37–55. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-01090-4_3

    Chapter  MATH  Google Scholar 

  14. Basin, D., Caronni, G., Ereth, S., Harvan, M., Klaedtke, F., Mantel, H.: Scalable offline monitoring. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 31–47. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11164-3_4

    Chapter  Google Scholar 

  15. Basin, D., Caronni, G., Ereth, S., Harvan, M., Klaedtke, F., Mantel, H.: Scalable offline monitoring of temporal specifications. Formal Methods Syst. Des. 49(1–2), 75–108 (2016). https://doi.org/10.1007/s10703-016-0242-y

    Article  MATH  Google Scholar 

  16. Basin, D., et al.: VeriMon: a formally verified monitoring tool. In: Seidl, H., Liu, Z., Pasareanu, C.S. (eds.) ICTAC 2022. LNCS, vol. 13572, pp. 1–6. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-17715-6_1

    Chapter  Google Scholar 

  17. Basin, D., et al.: A formally verified, optimized monitor for metric first-order dynamic logic. In: Peltier, N., Sofronie-Stokkermans, V. (eds.) IJCAR 2020. LNCS (LNAI), vol. 12166, pp. 432–453. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51074-9_25

    Chapter  Google Scholar 

  18. Basin, D., et al.: Monitoring the internet computer. In: Chechik, M., Katoen, J.-P., Leucker, M. (eds.) FM 2023. LNCS, vol. 14000, pp. 383–402. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-27481-7_22

    Chapter  Google Scholar 

  19. Basin, D., Gras, M., Krstić, S., Schneider, J.: Scalable online monitoring of distributed systems. In: Deshmukh, J., Ničković, D. (eds.) RV 2020. LNCS, vol. 12399, pp. 197–220. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-60508-7_11

    Chapter  Google Scholar 

  20. Basin, D., et al.: MonPoly and VeriMon. https://bitbucket.org/jshs/monpoly

  21. Basin, D., Harvan, M., Klaedtke, F., Zălinescu, E.: Monitoring usage-control policies in distributed systems. In: Combi, C., Leucker, M., Wolter, F. (eds.) 18th International Symposium on Temporal Representation and Reasoning (TIME 2011), pp. 88–95. IEEE (2011). https://doi.org/10.1109/TIME.2011.14

  22. Basin, D., Harvan, M., Klaedtke, F., Zălinescu, E.: Monitoring data usage in distributed systems. IEEE Trans. Softw. Eng. 39(10), 1403–1426 (2013). https://doi.org/10.1109/TSE.2013.18

    Article  Google Scholar 

  23. Basin, D., Klaedtke, F., Marinovic, S., Zălinescu, E.: On real-time monitoring with imprecise timestamps. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 193–198. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11164-3_16

    Chapter  Google Scholar 

  24. Basin, D., Klaedtke, F., Marinovic, S., Zălinescu, E.: Monitoring of temporal first-order properties with aggregations. Formal Methods Syst. Des. 46(3), 262–285 (2015). https://doi.org/10.1007/s10703-015-0222-7

    Article  MATH  Google Scholar 

  25. Basin, D., Klaedtke, F., Müller, S.: Monitoring security policies with metric first-order temporal logic. In: Joshi, J.B.D., Carminati, B. (eds.) 15th ACM Symposium on Access Control Models and Technologies (SACMAT 2010), pp. 23–34. ACM (2010). https://doi.org/10.1109/TSE.2013.18

  26. Basin, D., Klaedtke, F., Müller, S.: Policy monitoring in first-order temporal logic. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 1–18. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14295-6_1

    Chapter  Google Scholar 

  27. Basin, D., Klaedtke, F., Müller, S., Pfitzmann, B.: Runtime monitoring of metric first-order temporal properties. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2008), Volume 2 of LIPIcs, pp. 49–60. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2008). https://doi.org/10.4230/LIPIcs.FSTTCS.2008.1740

  28. Basin, D., Klaedtke, F., Müller, S., Zălinescu, E.: Monitoring metric first-order temporal properties. J. ACM 62(2), 15:1–15:45 (2015). https://doi.org/10.1145/2699444

  29. Basin, D., Klaedtke, F., Zălinescu, E.: Algorithms for monitoring real-time properties. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 260–275. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29860-8_20

    Chapter  MATH  Google Scholar 

  30. Basin, D., Klaedtke, F., Zălinescu, E.: Greedily computing associative aggregations on sliding windows. Inf. Process. Lett. 115(2), 186–192 (2015). https://doi.org/10.1016/j.ipl.2014.09.009

    Article  MathSciNet  MATH  Google Scholar 

  31. Basin, D., Klaedtke, F., Zălinescu, E.: The MonPoly monitoring tool. In: Reger, G., Havelund, K. (eds.) International Workshop on Competitions, Usability, Benchmarks, Evaluation, and Standardisation for Runtime Verification Tools (RV-CuBES 2017), Volume 3 of Kalpa Publications in Computing, pp. 19–28. EasyChair (2017). https://doi.org/10.29007/89hs

  32. Basin, D., Klaedtke, F., Zălinescu, E.: Runtime verification of temporal properties over out-of-order data streams. In: Majumdar, R., Kunčak, V. (eds.) CAV 2017. LNCS, vol. 10426, pp. 356–376. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63387-9_18

    Chapter  MATH  Google Scholar 

  33. Basin, D., Klaedtke, F., Zălinescu, E.: Algorithms for monitoring real-time properties. Acta Informatica 55(4), 309–338 (2018). https://doi.org/10.1007/s00236-017-0295-4

    Article  MathSciNet  MATH  Google Scholar 

  34. Basin, D., Klaedtke, F., Zălinescu, E.: Runtime verification over out-of-order streams. ACM Trans. Comput. Log. 21(1), 5:1–5:43 (2020). https://doi.org/10.1145/3355609

  35. Basin, D., Krstić, S., Traytel, D.: AERIAL: almost event-rate independent algorithms for monitoring metric regular properties. In: Reger, G., Havelund, K. (eds.) International Workshop on Competitions, Usability, Benchmarks, Evaluation, and Standardisation for Runtime Verification Tools (RV-CuBES 2017), Volume 3 of Kalpa Publications in Computing, pp. 29–36. EasyChair (2017). https://doi.org/10.29007/bm4c

  36. Basin, D., Krstić, S., Traytel, D.: Almost event-rate independent monitoring of metric dynamic logic. In: Lahiri, S., Reger, G. (eds.) RV 2017. LNCS, vol. 10548, pp. 85–102. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67531-2_6

    Chapter  Google Scholar 

  37. Bauer, A., Küster, J.-C., Vegliach, G.: From propositional to first-order monitoring. In: Legay, A., Bensalem, S. (eds.) RV 2013. LNCS, vol. 8174, pp. 59–75. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40787-1_4

    Chapter  MATH  Google Scholar 

  38. Beame, P., Koutris, P., Suciu, D.: Communication steps for parallel query processing. J. ACM 64(6), 40:1–40:58 (2017). https://doi.org/10.1145/3125644

  39. Becker, D., Rabenseifner, R., Wolf, F., Linford, J.C.: Scalable timestamp synchronization for event traces of message-passing applications. Parallel Comput. 35(12), 595–607 (2009). https://doi.org/10.1016/j.parco.2008.12.012

    Article  MathSciNet  Google Scholar 

  40. Bersani, M.M., Bianculli, D., Ghezzi, C., Krstić, S., San Pietro, P.: Efficient large-scale trace checking using MapReduce. In: Dillon, L.K., Visser, W., Williams, L.A. (eds.) 38th International Conference on Software Engineering (ICSE 2016), pp. 888–898. ACM (2016). https://doi.org/10.1145/2884781.2884832

  41. Bianculli, D., Ghezzi, C., Krstić, S.: Trace checking of metric temporal logic with aggregating modalities using MapReduce. In: Giannakopoulou, D., Salaün, G. (eds.) SEFM 2014. LNCS, vol. 8702, pp. 144–158. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10431-7_11

    Chapter  Google Scholar 

  42. Blumensath, A., Grädel, E.: Automatic structures. In: 15th Annual IEEE Symposium on Logic in Computer Science (LICS 2000), pp. 51–62. IEEE Computer Society (2000). https://doi.org/10.1109/LICS.2000.855755

  43. Brix, F., Fania, C., Gras, M., Krstić, S., Schneider, J.: Scalable online monitor. https://bitbucket.org/krle/scalable-online-monitor

  44. Bundala, D., Ouaknine, J.: On the complexity of temporal-logic path checking. In: Esparza, J., Fraigniaud, P., Husfeldt, T., Koutsoupias, E. (eds.) ICALP 2014. LNCS, vol. 8573, pp. 86–97. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-43951-7_8

    Chapter  Google Scholar 

  45. Carbone, P., Ewen, S., Fóra, G., Haridi, S., Richter, S., Tzoumas, K.: State management in Apache Flink®: consistent stateful distributed stream processing. Proc. VLDB Endow. 10(12), 1718–1729 (2017). https://doi.org/10.14778/3137765.3137777

    Article  Google Scholar 

  46. Carney, D., et al.: Monitoring streams - a new class of data management applications. In: 28th VLDB Conference (VLDB 2002), pp. 215–226. Morgan Kaufmann (2002). https://doi.org/10.1016/B978-155860869-6/50027-5

  47. Chomicki, J., Niwinski, D.: On the feasibility of checking temporal integrity constraints. J. Comput. Syst. Sci. 51(3), 523–535 (1995). https://doi.org/10.1006/jcss.1995.1088

    Article  MathSciNet  MATH  Google Scholar 

  48. Codd, E.F.: Relational completeness of data base sublanguages. Technical report RJ987, IBM Research Laboratory, San Jose, California (1972)

    Google Scholar 

  49. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: Brewer, E.A., Chen, P. (eds.) 6th Symposium on Operating System Design and Implementation (OSDI 2004), pp. 137–150. USENIX Association (2004). http://www.usenix.org/events/osdi04/tech/dean.html

  50. DFINITY Team: The Internet Computer for geeks. Cryptology ePrint Archive, Paper 2022/087 (2022). https://eprint.iacr.org/2022/087

  51. Fagin, R.: Horn clauses and database dependencies. J. ACM 29(4), 952–985 (1982). https://doi.org/10.1145/322344.322347

    Article  MathSciNet  MATH  Google Scholar 

  52. Falcone, Y., Krstić, S., Reger, G., Traytel, D.: A taxonomy for classifying runtime verification tools. Int. J. Softw. Tools Technol. Transfer 23(2), 255–284 (2021). https://doi.org/10.1007/s10009-021-00609-z

    Article  Google Scholar 

  53. Finkbeiner, B., Sipma, H.: Checking finite traces using alternating automata. Formal Methods Syst. Des. 24(2), 101–127 (2004). https://doi.org/10.1023/B:FORM.0000017718.28096.48

    Article  MATH  Google Scholar 

  54. Francalanza, A., Pérez, J.A., Sánchez, C.: Runtime verification for decentralised and distributed systems. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 176–210. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_6

    Chapter  Google Scholar 

  55. Van Gelder, A., Topor, R.W.: Safety and translation of relational calculus queries. ACM Trans. Database Syst. 16(2), 235–278 (1991)

    Article  MathSciNet  Google Scholar 

  56. Gras, M.: CPPMon. https://github.com/matthieugras/cppmon

  57. Gras, M.: StaticMon. https://github.com/matthieugras/staticmon

  58. Gras, M.: Explicit meets implicit monitoring. Master’s thesis, ETH Zurich, Switzerland (2022)

    Google Scholar 

  59. Haftmann, F.: Code generation from specifications in higher-order logic. Ph.D. thesis, Technical University Munich, Germany (2009). http://mediatum2.ub.tum.de/node?id=886023

  60. Havelund, K., Peled, D.: Runtime verification: from propositional to first-order temporal logic. In: Colombo, C., Leucker, M. (eds.) RV 2018. LNCS, vol. 11237, pp. 90–112. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03769-7_7

    Chapter  MATH  Google Scholar 

  61. Havelund, K., Peled, D., Ulus, D.: DejaVu: a monitoring tool for first-order temporal logic. In: 3rd Workshop on Monitoring and Testing of Cyber-Physical Systems (MT@CPSWeek 2018), pp. 12–13. IEEE (2018). https://doi.org/10.1109/MT-CPS.2018.00013

  62. Havelund, K., Peled, D., Ulus, D.: First-order temporal logic monitoring with BDDs. Formal Methods Syst. Des. 56(1), 1–21 (2020). https://doi.org/10.1007/s10703-018-00327-4

    Article  MATH  Google Scholar 

  63. 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

    Chapter  MATH  Google Scholar 

  64. Henriksen, J.G., et al.: Mona: monadic second-order logic in practice. In: Brinksma, E., Cleaveland, W.R., Larsen, K.G., Margaria, T., Steffen, B. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 89–110. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60630-0_5

    Chapter  Google Scholar 

  65. Heydari, A., Tavakoli, M., Salim, N.: Detection of fake opinions using time series. Expert Syst. Appl. 58, 83–92 (2016). https://doi.org/10.1016/j.eswa.2016.03.020

    Article  Google Scholar 

  66. Hublet, F., Basin, D., Krstić, S.: User-controlled privacy: taint, track, and control. Proc. Priv. Enhancing Technol. 2024(1) (2024, to appear)

    Google Scholar 

  67. Hublet, F., Basin, D., Krstić, S.: Real-time policy enforcement with metric first-order temporal logic. In: Atluri, V., Di Pietro, R., Jensen, C.D., Meng, W. (eds.) ESORICS 2022, Part II. LNCS, vol. 13555, pp. 211–232. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-17146-8_11

    Chapter  Google Scholar 

  68. Khoussainov, B., Nerode, A.: Automatic presentations of structures. In: Leivant, D. (ed.) LCC 1994. LNCS, vol. 960, pp. 367–392. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60178-3_93

    Chapter  Google Scholar 

  69. Krstić, S., Traytel, D.: Aerial. https://bitbucket.org/traytel/aerial

  70. Kuhtz, L., Finkbeiner, B.: Efficient parallel path checking for linear-time temporal logic with past and bounds. Log. Methods Comput. Sci. 8(4), 10:1–10:24 (2012). https://doi.org/10.2168/LMCS-8(4:10)2012

  71. Lammich, P.: Refinement of parallel algorithms down to LLVM. In: Andronick, J., de Moura, L. (eds.) 13th International Conference on Interactive Theorem Proving (ITP 2022), Volume 237 of LIPIcs, pp. 24:1–24:18. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2022). https://doi.org/10.4230/LIPIcs.ITP.2022.24

  72. Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebraic Methods Program. 78(5), 293–303 (2009). https://doi.org/10.1016/j.jlap.2008.08.004

    Article  MATH  Google Scholar 

  73. Lima, L., Herasimau, A., Raszyk, M., Traytel, D., Yuan, S.: Explainable online monitoring of metric temporal logic. In: Sankaranarayanan, S., Sharygina, N. (eds.) TACAS 2023, Part II. LNCS, vol. 13994, pp. 473–491. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-30820-8_28

    Chapter  Google Scholar 

  74. Graf, J.L., Krstić, S., Schneider, J.: Metric first-order temporal logic with complex data types. In: Katsaros, P., Nenzi, L. (eds.) RV 2023, LNCS 14245, pp. 126–147. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-44267-4_7

  75. Mostafa, M., Bonakdarpour, B.: Decentralized runtime verification of LTL specifications in distributed systems. In: 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015), pp. 494–503. IEEE (2015). https://doi.org/10.1109/IPDPS.2015.95

  76. Murray, D.G., McSherry, F., Isaacs, R., Isard, M., Barham, P., Abadi, M.: Naiad: a timely dataflow system. In: Kaminsky, M., Dahlin, M. (eds.) 24th ACM SIGOPS Symposium on Operating Systems Principles (SOSP 2013), pp. 439–455. ACM (2013). https://doi.org/10.1145/2517349.2522738

  77. Ni, J., Li, J., McAuley, J.J.: Justifying recommendations using distantly-labeled reviews and fine-grained aspects. In: Inui, K., Jiang, J., Ng, V., Wan, X. (eds.) Conference on Empirical Methods in Natural Language Processing (EMNLP-IJCNLP 2019), pp. 188–197. Association for Computational Linguistics (2019). https://nijianmo.github.io/amazon/index.html

  78. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Cham (2002). https://doi.org/10.1007/3-540-45949-9

    Book  MATH  Google Scholar 

  79. Orgun, M.A., Wadge, W.W.: A relational algebra as a query language for temporal DATALOG. In: Tjoa, A., Ramos, I. (eds.) DEXA 1992, pp. 276–281. Springer, Vienna (1992). https://doi.org/10.1007/978-3-7091-7557-6_48

    Chapter  Google Scholar 

  80. Pnueli, A., Zaks, A.: PSL model checking and run-time verification via testers. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 573–586. Springer, Heidelberg (2006). https://doi.org/10.1007/11813040_38

    Chapter  Google Scholar 

  81. Raszyk, M.: Hydra and Vydra. https://github.com/mraszyk/hydra

  82. Raszyk, M.: MFOTL2RANF. https://github.com/mraszyk/mfotl2ranf

  83. Raszyk, M.: Efficient, expressive, and verified temporal query evaluation. Ph.D. thesis, ETH Zurich, Switzerland (2022). https://doi.org/10.3929/ethz-b-000553221

  84. Raszyk, M., Basin, D., Krstić, S., Traytel, D.: Multi-head monitoring of metric temporal logic. In: Chen, Y.-F., Cheng, C.-H., Esparza, J. (eds.) ATVA 2019. LNCS, vol. 11781, pp. 151–170. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31784-3_9

    Chapter  Google Scholar 

  85. Raszyk, M., Basin, D., Krstić, S., Traytel, D.: Practical relational calculus query evaluation. In: Olteanu, D., Vortmeier, N. (eds.) 25th International Conference on Database Theory (ICDT 2022), Volume 220 of LIPIcs, pp. 11:1–11:21. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2022). https://doi.org/10.4230/LIPIcs.ICDT.2022.11

  86. Raszyk, M., Basin, D., Traytel, D.: From nondeterministic to multi-head deterministic finite-state transducers. In: Baier, C., Chatzigiannakis, I., Flocchini, P., Leonardi, S. (eds.) 46th International Colloquium on Automata, Languages, and Programming (ICALP 2019), Volume 132 of LIPIcs, pp. 127:1–127:14. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2019). https://doi.org/10.4230/LIPIcs.ICALP.2019.127

  87. Raszyk, M., Basin, D., Traytel, D.: Multi-head monitoring of metric dynamic logic. In: Hung, D.V., Sokolsky, O. (eds.) ATVA 2020. LNCS, vol. 12302, pp. 233–250. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59152-6_13

    Chapter  Google Scholar 

  88. Reese, L., Silva, R.C.G., Traytel, D.: TimelyMon. https://git.ku.dk/kfx532/timelymon

  89. Roşu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Autom. Softw. Eng. 12(2), 151–197 (2005). https://doi.org/10.1007/s10515-005-6205-y

    Article  Google Scholar 

  90. Sánchez, C., et al.: A survey of challenges for runtime verification from advanced application domains (beyond software). Formal Methods Syst. Des. 54(3), 279–335 (2019). https://doi.org/10.1007/s10703-019-00337-w

    Article  MATH  Google Scholar 

  91. Schneider, J.: HashMon. https://bitbucket.org/jshs/hashmon

  92. Schneider, J.: Randomized first-order monitoring with hashing. In: Dang, T., Stolz, V. (eds.) RV 2022. LNCS, vol. 13498, pp. 3–24. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-17196-3_1

    Chapter  Google Scholar 

  93. Schneider, J.: Scalable and trustworthy monitoring. Ph.D. thesis, ETH Zurich, Switzerland (2023). https://doi.org/10.3929/ethz-b-000614295

  94. Schneider, J., Basin, D., Brix, F., Krstić, S., Traytel, D.: Scalable online first-order monitoring. In: Colombo, C., Leucker, M. (eds.) RV 2018. LNCS, vol. 11237, pp. 353–371. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03769-7_20

    Chapter  Google Scholar 

  95. Schneider, J., Basin, D., Brix, F., Krstić, S., Traytel, D.: Adaptive online first-order monitoring. In: Chen, Y.-F., Cheng, C.-H., Esparza, J. (eds.) ATVA 2019. LNCS, vol. 11781, pp. 133–150. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31784-3_8

    Chapter  Google Scholar 

  96. Schneider, J., Basin, D., Brix, F., Krstić, S., Traytel, D.: Scalable online first-order monitoring. Int. J. Softw. Tools Technol. Transfer 23(2), 185–208 (2021). https://doi.org/10.1007/s10009-021-00607-1

    Article  MATH  Google Scholar 

  97. Schneider, J., Basin, D., Krstić, S., Traytel, D.: A formally verified monitor for metric first-order temporal logic. In: Finkbeiner, B., Mariani, L. (eds.) RV 2019. LNCS, vol. 11757, pp. 310–328. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32079-9_18

    Chapter  Google Scholar 

  98. Stoller, S.D.: Detecting global predicates in distributed systems with clocks. Distrib. Comput. 13(2), 85–98 (2000). https://doi.org/10.1007/s004460050069

    Article  MATH  Google Scholar 

  99. Thati, P., Roşu, G.: Monitoring algorithms for metric temporal logic specifications. In: Havelund, K., Roşu, G. (eds.) 4th Workshop on Runtime Verification (RV 2004), Volume 113 of Electronic Notes in Theoretical Computer Science, pp. 145–162. Elsevier (2004)

    Google Scholar 

  100. Tuzhilin, A., Clifford, J.: A temporal relational algebra as basis for temporal relational completeness. In: McLeod, D., Sacks-Davis, R., Schek, H.-J. (eds.) 16th International Conference on Very Large Data Bases (VLDB 1990), pp. 13–23. Morgan Kaufmann (1990)

    Google Scholar 

  101. Xing, Y., Zdonik, S.B., Hwang, J.-H.: Dynamic load distribution in the Borealis stream processor. In: Aberer, K., Franklin, M.J., Nishio, S. (eds.) 21st International Conference on Data Engineering (ICDE 2005), pp. 791–802. IEEE Computer Society (2005). https://doi.org/10.1109/ICDE.2005.53

  102. Zingg, S., Krstić, S., Raszyk, M., Schneider, J., Traytel, D.: Verified first-order monitoring with recursive rules. In: Fisman, D., Rosu, G. (eds.) TACAS 2022. LNCS, vol. 13244, pp. 236–253. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-99527-0_13

    Chapter  Google Scholar 

Download references

Acknowledgments

This paper has four authors, but it reports on a decade of collaboration with numerous other researchers. We would like to explicitly name some of them here. First and foremost, we thank Felix Klaedtke, Martin Raszyk, and Eugen Zălinescu. Felix and Eugen were key contributors during the inception of MonPoly. Martin arrived later but left his mark through his work on Hydra, Vydra, MFOTL2RANF, and VeriMon.

We also thank the past and present monitoring aficionados from our groups at ETH Zürich and the University of Copenhagen: Bhargav Bhatt, Rafael Castro G. Silva, Matús Harvan, François Hublet, Jonathan Julián Huerta y Munive, Leonardo Lima, Srđan Marinović, Samuel Müller, Lennard Reese. In addition, we are grateful to those B.Sc. and M.Sc. students who contributed to our journey: Berkay Aydogdu, Marc Bolliger, Frederik Brix, Thibault Dardinier, Christian Fania, Artur Gigon Almada e Melo, Matthieu Gras, Emma Pind Hansen, Nico Hauser, Lukas Heimes, Andrei Herasimau, Hróbjartur Höskuldsson, Valeria Jannelli, Nicolas Kaletsch, Jeniffer Lima Graf, Emanuele Marsicano, Galina Peycheva, Sarah Plocher, Jonathan Rappl, Pascal Schärli, Dawit Legesse Tirore, Adrian Wortmann, Simon Yuan, Stefan Zemljic, Sheila Zingg, and Remo Zumsteg. We would also like to thank our external collaborators from the past and present: Emma Arfelt, Daniel Bristot de Oliveira, Germano Caronni, Søren Debois, Daniel Stefan Dietiker, Sarah Ereth, Yliès Falcone, Heiko Mantel, Birgit Pfitzmann, Yvonne-Anne Pignolet, Giles Reger, Arshavir Ter-Gabrielyan, as well as the participants of the ARVI COST Action and many (mostly) anonymous reviewers.

Finally, we acknowledge the generous external funding we have received for research on monitoring from the Swiss National Science Foundation (grant 167162 “Big Data Monitoring” and grant 204796 “Model-driven Security & Privacy”), the US Air Force Research Laborarory (grant FA9550-17-1-0306 “Monitoring at Any Cost”), and the Novo Nordisk Foundation (start package grant NNF20OC0063462).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Basin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 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

Basin, D., Krstić, S., Schneider, J., Traytel, D. (2023). Correct and Efficient Policy Monitoring, a Retrospective. In: André, É., Sun, J. (eds) Automated Technology for Verification and Analysis. ATVA 2023. Lecture Notes in Computer Science, vol 14215. Springer, Cham. https://doi.org/10.1007/978-3-031-45329-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-45329-8_1

  • Published:

  • Publisher Name: Springer, Cham

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics