Skip to main content

First-Order Timed Runtime Verification Using BDDs

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

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12302))

Abstract

Runtime Verification (RV) expedites the analyses of execution traces for detecting system errors and for statistical and quality analysis. Having started modestly, with checking temporal properties that are based on propositional (yes/no) values, the current practice of RV often involves properties that are parameterized by the data observed in the input trace. The specifications are based on various formalisms, such as automata, temporal logics, rule systems and stream processing. Checking execution traces that are data intensive against a specification that requires strong dependencies between the data poses a nontrivial challenge; in particular if runtime verification has to be performed online, where many events that carry data appear within small time proximities. Towards achieving this goal, we recently suggested to represent relations over the observed data values as BDDs, where data elements are enumerated and then converted into bit vectors. We extend here the capabilities of BDD-based RV with the ability to express timing constraints, where the monitored events include clock values. We show how to efficiently operate on BDDs that represent both relations on (enumerations of) values and time dependencies. We demonstrate our algorithm with an efficient implementation and provide experimental results.

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 second author was partially funded by Israeli Science Foundation grant 1464/18: “Efficient Runtime Verification for Systems with Lots of Data and its Applications”.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

    This is equivalent to saying that the specification is of the form \(\Box \varphi \), where \(\varphi \) contains only past modalities; we omit here the implied \(\Box \), which is a future modality.

  2. 2.

    We ignore at this point the clock value component \(\tau ( i )\).

  3. 3.

    In fact, when \(\Delta > \delta \), we use \(\delta +1\) instead.

  4. 4.

    For simplicity of the presentation, but without restricting the algorithms or the implementation, we present here only unary predicates.

  5. 5.

    In the implementation the same number of bits are used for all variables: \(k_1\,=\,k_2\,=\,\ldots \,=\,k_n\).

  6. 6.

    The example BDDs are generated by our tool.

  7. 7.

    Recall that all values are restricted to \(2 \delta + 1\) and if \(\Delta \,>\,\delta \), then \(\delta +1\) is used instead of \(\Delta \).

  8. 8.

    This restriction from the theory and algorithm presented above is made because our experience shows that this is by far the most common case.

  9. 9.

    The tool can also be applied for online monitoring with some small adjustments.

References

  1. Allan, C.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005, pp. 345–364. IEEE (2005)

    Google Scholar 

  2. Alpern, B., Schneider, F.B.: Recognizing Safety and Liveness. Distrib. Comput. 2(3), 117–126 (1987). https://doi.org/10.1007/BF01782772

    Article  MATH  Google Scholar 

  3. D’Angelo, B.: LOLA: Runtime monitoring of synchronous systems. In: TIME 2005, pp. 166–174 (2005)

    Google Scholar 

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

    Chapter  MATH  Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  8. Basin, D.A., Klaedtke, F., Zalinescu, E.: Algorithms for monitoring real-time properties. Acta Informatica 55(4), 309–338 (2018)

    Article  MathSciNet  Google Scholar 

  9. Bauer, A., Leucker, M., Schallhart, C.: The good, the bad, and the ugly, but how ugly is ugly? In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 126–138. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-77395-5_11

    Chapter  MATH  Google Scholar 

  10. Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1–64 (2011)

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  14. Clarke, E.M., McMillan, K.L., Zhao, X., Fujita, M., Yang, J.C.Y.: Spectral transforms for large Boolean functions with applications to technology mapping. Formal Methods Syst. Des. 10(2/3), 137–148 (1997)

    Article  Google Scholar 

  15. Falcone, Y., Fernandez, J.-C., Mounier, L.: Runtime verification of safety-progress properties. In: Bensalem, S., Peled, D.A. (eds.) RV 2009. LNCS, vol. 5779, pp. 40–59. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04694-0_4

    Chapter  Google Scholar 

  16. Faymonville, P., Finkbeiner, B., Peled, D.: Monitoring parametric temporal logic. In: McMillan, K.L., Rival, X. (eds.) VMCAI 2014. LNCS, vol. 8318, pp. 357–375. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54013-4_20

    Chapter  Google Scholar 

  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.: Rule-based runtime verification revisited. Int. J. Softw. Tools Technol. Transfer 17(2), 143–170 (2014). https://doi.org/10.1007/s10009-014-0309-2

    Article  Google Scholar 

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

    Google Scholar 

  20. Havelund, K., Peled, D.: Efficient Runtime Verification of First-Order Temporal Properties. In: Gallardo, M.M., Merino, P. (eds.) SPIN 2018. LNCS, vol. 10869, pp. 26–47. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94111-0_2

    Chapter  Google Scholar 

  21. Havelund, K., Peled, D.: BDDs on the run. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11247, pp. 58–69. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03427-6_8

    Chapter  Google Scholar 

  22. Havelund, K., Reger, G., Thoma, D., Zălinescu, E.: Monitoring events that carry data. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 61–102. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_3

    Chapter  Google Scholar 

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

  24. JavaBDD. http://javabdd.sourceforge.net

  25. Henriksen, J.G.: 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 

  26. Könighofer, B.: Shield synthesis. Form. Methods Syst. Des. 51(2), 332–361 (2017)

    Article  Google Scholar 

  27. Manna, Z., Pnueli, A.: Completing the temporal picture. Theor. Comput. Sci. 83, 91–130 (1991)

    Article  Google Scholar 

  28. Mars Science Laboratory (MSL) mission website: http://mars.jpl.nasa.gov/msl

  29. Meredith, P.O.,Jin, D., Griffith, D., Chen, F., Rosu, G.: An overview of the MOP runtime verification framework. Int. J. Softw. Tools Technol. Transfer 14(3), 249–289. Springer (2012). https://doi.org/10.1007/s10009-011-0198-6

  30. Peled, D., Havelund, K.: Refining the safety–liveness classification of temporal properties according to monitorability. In: Margaria, T., Graf, S., Larsen, K.G. (eds.) Models, Mindsets, Meta: The What, the How, and the Why Not?. LNCS, vol. 11200, pp. 218–234. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22348-9_14

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  32. Roşu, G., Bensalem, S.: Allen linear (Interval) temporal logic – translation to LTL and monitor synthesis. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 263–277. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_25

    Chapter  Google Scholar 

  33. Rozier, K.Y., Schumann, J.: R2U2: tool Overview. In: RV-CuBES, vol. 3, pp. 138–156 (2017)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Klaus Havelund or Doron Peled .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Havelund, K., Peled, D. (2020). First-Order Timed Runtime Verification Using BDDs. In: Hung, D.V., Sokolsky, O. (eds) Automated Technology for Verification and Analysis. ATVA 2020. Lecture Notes in Computer Science(), vol 12302. Springer, Cham. https://doi.org/10.1007/978-3-030-59152-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-59152-6_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-59151-9

  • Online ISBN: 978-3-030-59152-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics