Runtime Verification for Decentralised and Distributed Systems

  • Adrian Francalanza
  • Jorge A. Pérez
  • César Sánchez
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10457)

Abstract

This chapter surveys runtime verification research related to distributed systems. We report solutions that study how to monitor system with some distributed characteristic, solutions that use a distributed platform for performing a monitoring task, and foundational works that present semantics for decomposing monitors or expressing specifications amenable for distributed systems.

We will identify some characteristics that distinguish distributed monitoring from centralised monitoring, and characteristics that allow to classify distributed runtime verification works based on features of the executing platforms, the specification language and the system description. Then, we will use these characteristics to describe and compare the distributed runtime verification solutions proposed in the research literature.

Keywords

Monitoring distributed systems Distributed monitoring Decentralised monitoring Monitor decomposition 

Notes

Acknowledgments

We are grateful to the anonymous reviewers for their useful remarks and suggestions, which led to significant improvements.

Financial Acknowledgements. This work was partially supported by COST Action IC1402 (Runtime Verification beyond Monitoring). César Sánchez is funded in part by Spanish MINECO Project “RISCO (TIN2015-71819-P)” and by EU H2020 project 731535 “Elastest”. Pérez is also affiliated to the NOVA Laboratory for Computer Science and Informatics (NOVA LINCS – PEst/UID/CEC/04516/2013), Universidade Nova de Lisboa, Portugal.

References

  1. 1.
    Alagar, S., Venkatesan, S.: Techniques to tackle state explosion in global predicate detection. IEEE Trans. Softw. Eng. (TSE) 27(8), 704–714 (2001)CrossRefGoogle Scholar
  2. 2.
    Ancona, D., Bono, V., Bravetti, M., Campos, J., Castagna, G., Deniélou, P., Gay, S.J., Gesbert, N., Giachino, E., Hu, R., Johnsen, E.B., Martins, F., Mascardi, V., Montesi, F., Neykova, R., Ng, N., Padovani, L., Vasconcelos, V.T., Yoshida, N.: Behavioral types in programming languages. Found. Trends Program. Lang. 3(2–3), 95–230 (2016)CrossRefGoogle Scholar
  3. 3.
    Attard, D.P., Francalanza, A.: A monitoring tool for a branching-time logic. In: Falcone, Y., Sánchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 473–481. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46982-9_31 CrossRefGoogle Scholar
  4. 4.
    Attiya, H., Welch, J.L.: Distributed Computing: Fundamentals, Simulations and Advanced Topics. Wiley, Hoboken (2004)CrossRefMATHGoogle Scholar
  5. 5.
    Baader, F., Lippmann, M.: Runtime verification using the temporal description logic ALC-LTL revisited. J. Appl. Logic 12(4), 584–613 (2014)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Bartocci, E.: Sampling-based decentralized monitoring for networked embedded systems. In: Bortolussi, L., Bujorianu, M.L., Pola, G. (eds.) Proceedings of the 3rd International Workshop on Hybrid Autonomous Systems (HAS 2013). EPTCS, vol. 124, pp. 85–99 (2013)Google Scholar
  7. 7.
    Basin, D., Klaedtke, F., Marinovic, S., Zălinescu, E.: Monitoring compliance policies over incomplete and disagreeing logs. In: Qadeer, S., Tasiran, S. (eds.) RV 2012. LNCS, vol. 7687, pp. 151–167. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-35632-2_17 CrossRefGoogle Scholar
  8. 8.
    Basin, D.A., Klaedtke, F., Zalinescu, E.: Failure-aware runtime verification of distributed systems. In: Proceedings of FSTTCS 2015, pp. 590–603 (2015)Google Scholar
  9. 9.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. In: Proceedings of the 4th IEEE International Conference on Software Engineering and Formal Methods (SEFM 2006), pp. 3–12. IEEE Computer Society (2006)Google Scholar
  10. 10.
    Bauer, A.K.: Monitorability of \(\omega \)-regular languages. arXiv:1006.3638v1 (2010)
  11. 11.
    Bauer, A., Falcone, Y.: Decentralised LTL monitoring. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 85–100. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-32759-9_10 CrossRefGoogle Scholar
  12. 12.
    Bauer, A.K., Falcone, Y.: Decentralised LTL monitoring. Formal Methods Syst. Des. 48(1–2), 49–93 (2016)MATHGoogle Scholar
  13. 13.
    Bauer, A.K., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20, 14:1–14:64 (2011)CrossRefGoogle Scholar
  14. 14.
    Berkovich, S., Bonakdarpour, B., Fischmeister, S.: Runtime verification with minimal intrusion through parallelism. Formal Methods Syst. Des. 46(3), 317–348 (2015)CrossRefMATHGoogle Scholar
  15. 15.
    Bocchi, L., Chen, T., Demangeon, R., Honda, K., Yoshida, N.: Monitoring networks through multiparty session types. In: Proceedings of FMOODS/FORTE 2013, pp. 50–65 (2013)Google Scholar
  16. 16.
    Bocchi, L., Chen, T., Demangeon, R., Honda, K., Yoshida, N.: Monitoring networks through multiparty session types. Theor. Comput. Sci. 669, 33–58 (2017)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: Automated conflict-free distributed implementation of component-based models. In: Proceedings of the IEEE 5th International Symposium on Industrial Embedded Systems (SIES 2010), pp. 108–117. IEEE (2010)Google Scholar
  18. 18.
    Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: From high-level component-based models to distributed implementations. In: Proceedings of EMSOFT 2010, pp. 209–218. ACM (2010)Google Scholar
  19. 19.
    Bonakdarpour, B., Fraigniaud, P., Rajsbaum, S., Rosenblueth, D., Travers, C.: Decentralised asynchronous crash-resilient runtime verification. In: Proceedings of the 27th International Conference on Concurrency Theory (CONCUR 2016). LIPIcs, vol. 59, pp. 16:1–16:15. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2016)Google Scholar
  20. 20.
    Bonakdarpour, B., Fraigniaud, P., Rajsbaum, S., Travers, C.: Challenges in fault-tolerant distributed runtime verification. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part II. LNCS, vol. 9953, pp. 363–370. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47169-3_27 CrossRefGoogle Scholar
  21. 21.
    Carbone, M. (ed.): Proceedings of the Third Workshop on Behavioural Types (BEAT 2014). EPTCS, vol. 162 (2014)Google Scholar
  22. 22.
    Cassar, I., Francalanza, A.: On synchronous and asynchronous monitor instrumentation for actor systems. In: Proceedings of FOCLASA 2014, vol. 175, pp. 54–68 (2014)Google Scholar
  23. 23.
    Cassar, I., Francalanza, A.: Runtime adaptation for actor systems. In: Bartocci, E., Majumdar, R. (eds.) RV 2015. LNCS, vol. 9333, pp. 38–54. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-23820-3_3 CrossRefGoogle Scholar
  24. 24.
    Cassar, I., Francalanza, A.: On implementing a monitor-oriented programming framework for actor systems. In: Ábrahám, E., Huisman, M. (eds.) IFM 2016. LNCS, vol. 9681, pp. 176–192. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-33693-0_12 CrossRefGoogle Scholar
  25. 25.
    Cassar, I., Francalanza, A., Said, S.: Improving runtime overheads for detector. In: Buhnova, B., Happe, L., Kofron, J. (eds.) Proceedings of the 12th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA 2015). EPTCS, vol. 178, pp. 1–8 (2015)Google Scholar
  26. 26.
    Castellani, I., Dezani-Ciancaglini, M., Pérez, J.A.: Self-adaptation and secure information flow in multiparty structured communications: a unified perspective. In: [21], pp. 9–18Google Scholar
  27. 27.
    Castellani, I., Dezani-Ciancaglini, M., Pérez, J.A.: Self-adaptation and secure information flow in multiparty communications. Formal Asp. Comput. 28(4), 669–696 (2016)MathSciNetCrossRefMATHGoogle Scholar
  28. 28.
    Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3(1), 63–75 (1985)CrossRefGoogle Scholar
  29. 29.
    Chase, C.M., Garg, V.K.: Detection of global predicates: techniques and their limitations. Distrib. Comput. 11(4), 191–201 (1998)CrossRefGoogle Scholar
  30. 30.
    Chauhan, H., Garg, V.K., Natarajan, A., Mittal, N.: A distributed abstraction algorithm for online predicate detection. In: IEEE 32nd Symposium on Reliable Distributed Systems (SRDS 2013), pp. 101–110. IEEE Computer Society (2013)Google Scholar
  31. 31.
    Chen, F., Roşu, G.: Parametric trace slicing and monitoring. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 246–261. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-00768-2_23 CrossRefGoogle Scholar
  32. 32.
    Colombo, C., Dimech, G., Francalanza, A.: Investigating instrumentation techniques for ESB runtime verification. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 99–107. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-22969-0_7 CrossRefGoogle Scholar
  33. 33.
    Colombo, C., Falcone, Y.: Organising LTL monitors over distributed systems with a global clock. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 140–155. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11164-3_12 Google Scholar
  34. 34.
    Colombo, C., Falcone, Y.: Organising LTL monitors over distributed systems with a global clock. Formal Methods Syst. Des. 49(1–2), 109–158 (2016)CrossRefGoogle Scholar
  35. 35.
    Colombo, C., Francalanza, A., Gatt, R.: Elarva: a monitoring tool for Erlang. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 370–374. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-29860-8_29 CrossRefGoogle Scholar
  36. 36.
    Colombo, C., Francalanza, A., Mizzi, R., Pace, G.J.: polyLarva: runtime verification with configurable resource-aware monitoring boundaries. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds.) SEFM 2012. LNCS, vol. 7504, pp. 218–232. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33826-7_15 CrossRefGoogle Scholar
  37. 37.
    Cooper, R., Marzullo, K.: Consistent detection of global predicates. In: Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 163–173 (1991)Google Scholar
  38. 38.
    Coulouris, G.: Distributed Systems: Concepts and Design. Addison-Wesley, Boston (2011)MATHGoogle Scholar
  39. 39.
    Cristian, F., Fetzer, C.: The timed asynchronous distributed system model. IEEE Trans. Parallel Distrib. Syst. 10(6), 642–657 (1999)CrossRefGoogle Scholar
  40. 40.
    D’Angelo, B., Sankaranarayanan, S., Sánchez, C., Robinson, W., Finkbeiner, B., Sipma, H.B., Mehrotra, S., Manna, Z.: LOLA: runtime monitoring of synchronous systems. In: Proceedings of the 12th International Symposium of Temporal Representation and Reasoning (TIME 2005), pp. 166–174. IEEE CS Press (2005)Google Scholar
  41. 41.
    Demangeon, R., Honda, K., Hu, R., Neykova, R., Yoshida, N.: Practical interruptible conversations: distributed dynamic verification with multiparty session types and python. Formal Methods Syst. Des. 46(3), 197–225 (2015)CrossRefMATHGoogle Scholar
  42. 42.
    Di Giusto, C., Pérez, J.A.: An event-based approach to runtime adaptation in communication-centric systems. In: Hildebrandt, T., Ravara, A., van der Werf, J.M., Weidlich, M. (eds.) WS-FM 2014-2015. LNCS, vol. 9421, pp. 67–85. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-33612-1_5 CrossRefGoogle Scholar
  43. 43.
    Di Giusto, C., Pérez, J.A.: Event-based run-time adaptation in communication-centric systems. Formal Aspects Comput. 28(4), 1–36 (2016)MathSciNetCrossRefMATHGoogle Scholar
  44. 44.
    Diekert, V., Muscholl, A., Walukiewicz, I.: A note on monitors and Büchi automata. In: Leucker, M., Rueda, C., Valencia, F.D. (eds.) ICTAC 2015. LNCS, vol. 9399, pp. 39–57. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-25150-9_3 CrossRefGoogle Scholar
  45. 45.
    El-Hokayem, A., Falcone, Y.: Monitoring decentralized specifications. In: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2017), pp. 125–135. ACM (2017)Google Scholar
  46. 46.
    Falcone, Y., Cornebize, T., Fernandez, J.-C.: Efficient and generalized decentralized monitoring of regular languages. In: Ábrahám, E., Palamidessi, C. (eds.) FORTE 2014. LNCS, vol. 8461, pp. 66–83. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-43613-4_5 CrossRefGoogle Scholar
  47. 47.
    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 CrossRefGoogle Scholar
  48. 48.
    Falcone, Y., Fernandez, J.C., Mounier, L.: What can you verify and enforce at runtime? STTT 14(3), 349–382 (2012)CrossRefGoogle Scholar
  49. 49.
    Falcone, Y., Jaber, M., Nguyen, T.H., Bozga, M., Bensalem, S.: Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation. Softw. Syst. Model. 14(1), 173–199 (2015)CrossRefGoogle Scholar
  50. 50.
    Felser, M.: Real-time Ethernet - industry prospective. Proc. IEEE 93(6), 1118–1129 (2005)CrossRefGoogle Scholar
  51. 51.
    Fidge, C.: Timestamps in message-passing systems that preserve the partial ordering. In: Proceedings of the 11th Australian Computer Science Conference, pp. 55–66 (1989)Google Scholar
  52. 52.
    Fidge, C.: Logical time in distributed computer systems. Computer 24(8), 28–33 (1991)CrossRefGoogle Scholar
  53. 53.
    Fraigniaud, P., Rajsbaum, S., Travers, C.: On the number of opinions needed for fault-tolerant run-time monitoring in distributed systems. In: RV (2014)Google Scholar
  54. 54.
    Francalanza, A.: A theory of monitors. In: Jacobs, B., Löding, C. (eds.) FoSSaCS 2016. LNCS, vol. 9634, pp. 145–161. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49630-5_9 CrossRefGoogle Scholar
  55. 55.
    Francalanza, A., Aceto, L., Ingolfsdottir, A.: Monitorability for the Hennessy-Milner logic with recursion. FMSD 51(1), 1–30 (2017)MATHGoogle Scholar
  56. 56.
    Francalanza, A., Gauci, A., Pace, G.J.: Distributed system contract monitoring. In: Pimentel, E., Valero, V. (eds.) Proceedings of the Fifth Workshop on Formal Languages and Analysis of Contract-Oriented Software, FLACOS 2011, Málaga, Spain, 22–23 September 2011. EPTCS, vol. 68, pp. 23–37 (2011)Google Scholar
  57. 57.
    Francalanza, A., Gauci, A., Pace, G.J.: Distributed system contract monitoring. J. Logic Algebraic Program. 82(5–7), 186–215 (2013)MathSciNetCrossRefMATHGoogle Scholar
  58. 58.
    Francalanza, A., Hennessy, M.: A theory of system behaviour in the presence of node and link failure. Inf. Comput. 206(6), 711–759 (2008)MathSciNetCrossRefMATHGoogle Scholar
  59. 59.
    Francalanza, A., Seychell, A.: Synthesising correct concurrent runtime monitors. In: Legay, A., Bensalem, S. (eds.) RV 2013. LNCS, vol. 8174, pp. 112–129. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40787-1_7 CrossRefGoogle Scholar
  60. 60.
    Francalanza, A., Seychell, A.: Synthesising correct concurrent runtime monitors. FMSD 46(3), 226–261 (2015)MATHGoogle Scholar
  61. 61.
    Garg, D., Jia, L., Datta, A.: Policy auditing over incomplete logs: theory, implementation and applications. In: Proceedings of CCS 2011, pp. 151–162 (2011)Google Scholar
  62. 62.
    Garg, V.K.: Elements of Distributed Computing. Wiley-IEEE Press, New York (2002)Google Scholar
  63. 63.
    Garg, V.K., Mittal, N.: On slicing a distributed computation. In: Proceedings of the 21st IEEE International Conference on Distributed Computing Systems (ICDCS 2001), pp. 322–329. IEEE CS Press (2001)Google Scholar
  64. 64.
    Garg, V.K., Waldecker, B.: Detection of weak unstable predicates in distributed programs. IEEE Trans. Parallel Distrib. Syst. 5(3), 299–307 (1994)CrossRefGoogle Scholar
  65. 65.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998).  https://doi.org/10.1007/BFb0053567 CrossRefGoogle Scholar
  66. 66.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1–9:67 (2016)MathSciNetCrossRefMATHGoogle Scholar
  67. 67.
    Hu, R., Neykova, R., Yoshida, N., Demangeon, R., Honda, K.: Practical interruptible conversations - distributed dynamic verification with session types and python. In: [72], pp. 130–148Google Scholar
  68. 68.
    Hüttel, H., Lanese, I., Vasconcelos, V.T., Caires, L., Carbone, M., Deniélou, P., Mostrous, D., Padovani, L., Ravara, A., Tuosto, E., Vieira, H.T., Zavattaro, G.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3:1–3:36 (2016)CrossRefGoogle Scholar
  69. 69.
    Jia, L., Gommerstadt, H., Pfenning, F.: Monitors and blame assignment for higher-order session types. In: Bodík, R., Majumdar, R. (eds.) Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, 20–22 January 2016, pp. 582–594. ACM (2016)Google Scholar
  70. 70.
    Joyce, J., Lomow, G., Slind, K., Unger, B.W.: Monitoring distributed systems. ACM Trans. Comput. Syst. 5(2), 121–150 (1987)CrossRefGoogle Scholar
  71. 71.
    Lamport, L.: Time, clocks and the ordering of events in distributed systems. Commun. ACM 21(7), 558–565 (1978)CrossRefMATHGoogle Scholar
  72. 72.
    Legay, A., Bensalem, S. (eds.): RV 2013. LNCS, vol. 8174. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40787-1 Google Scholar
  73. 73.
    Luo, Q., Roşu, G.: EnforceMOP: a runtime property enforcement system for multithreaded programs. In: ISSTA. ACM, New York (2013)Google Scholar
  74. 74.
    Mattern, F.: Virtual time and global states of distributed systems. In: Proceedings of the Workshop on Parallel and Distributed Algorithms, pp. 215–226. Elsevier (1989)Google Scholar
  75. 75.
    Mezzina, C.A., Pérez, J.A.: Reversible sessions using monitors. In: Orchard, D.A., Yoshida, N. (eds.) Proceedings of the Ninth Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software (PLACES 2016). EPTCS, vol. 211, pp. 56–64 (2016)Google Scholar
  76. 76.
    Mezzina, C.A., Pérez, J.A.: Reversibility in session-based concurrency: a fresh look. J. Log. Algebraic Methods Program. 90, 2–30 (2017)MathSciNetCrossRefMATHGoogle Scholar
  77. 77.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I. Inf. Comput. 100(1), 1–40 (1992)MathSciNetCrossRefMATHGoogle Scholar
  78. 78.
    Mittal, N., Garg, V.K.: Techniques and applications of computation slicing. Distrib. Comput. 17(3), 251–277 (2005)CrossRefMATHGoogle Scholar
  79. 79.
    Mittal, N., Sen, A., Garg, V.K.: Solving computation slicing using predicate detection. IEEE Trans. Parallel Distrib. Systems (TPDS) 18(12), 1700–1713 (2007)CrossRefGoogle Scholar
  80. 80.
    Mostafa, M., Bonakdarpour, B.: Decentralized runtime verification of LTL specifications in distributed systems. In: Proceedings of the 2015 IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015), pp. 494–503. IEEE Computer Society (2015)Google Scholar
  81. 81.
    Neykova, R., Bocchi, L., Yoshida, N.: Timed runtime monitoring for multiparty conversations. In: [21], pp. 19–26Google Scholar
  82. 82.
    Neykova, R., Yoshida, N., Hu, R.: SPY: local verification of global protocols. In: [72], pp. 358–363Google Scholar
  83. 83.
    Ogale, V.A., Garg, V.K.: Detecting temporal logic predicates on distributed computations. In: Pelc, A. (ed.) DISC 2007. LNCS, vol. 4731, pp. 420–434. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-75142-7_32 CrossRefGoogle Scholar
  84. 84.
    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 CrossRefGoogle Scholar
  85. 85.
    Roşu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Autom. Softw. Eng. 12(2), 151–197 (2005)CrossRefGoogle Scholar
  86. 86.
    Sen, A., Garg, V.K.: Detecting temporal logic predicates in distributed programs using computation slicing. In: Papatriantafilou, M., Hunel, P. (eds.) OPODIS 2003. LNCS, vol. 3144, pp. 171–183. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-27860-3_17 CrossRefGoogle Scholar
  87. 87.
    Sen, A., Garg, V.K.: Partial order trace analyzer (POTA) for distributed programs. ENTCS 89(2), 22–43 (2003). Proceedings of Workshop on Runtime Verification (RV 2003)Google Scholar
  88. 88.
    Sen, A., Garg, V.K.: Formal verification of simulation traces using computation slicing. IEEE Trans. Comput. 56, 511–527 (2007)MathSciNetCrossRefGoogle Scholar
  89. 89.
    Sen, K., Vardhan, A., Agha, G., Rosu, G.: Efficient decentralized monitoring of safety in distributed systems. In: Proceedings of ICSE 2004. IEEE CS Press (2004)Google Scholar
  90. 90.
    Sen, K., Vardhan, A., Agha, G., Rosu, G.: Decentralized runtime analysis of multithreaded applications. In: Proceedings of the 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2006). IEEE (2006)Google Scholar
  91. 91.
    Viswanathan, M.: Foundations for the run-time analysis of software systems. Ph.D. thesis, University of Pennsylvania (2000)Google Scholar
  92. 92.
    Yoshida, N., Hu, R., Neykova, R., Ng, N.: The scribble protocol language. In: Abadi, M., Lluch Lafuente, A. (eds.) TGC 2013. LNCS, vol. 8358, pp. 22–41. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-05119-2_3 CrossRefGoogle Scholar
  93. 93.
    Zhang, T., Gebhard, P., Sokolsky, O.: SMEDL: combining synchronous and asynchronous monitoring. In: Falcone, Y., Sánchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 482–490. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46982-9_32 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Adrian Francalanza
    • 1
  • Jorge A. Pérez
    • 2
    • 3
  • César Sánchez
    • 4
  1. 1.CS@ICTUniversity of MaltaMsidaMalta
  2. 2.University of GroningenGroningenThe Netherlands
  3. 3.CWIAmsterdamThe Netherlands
  4. 4.IMDEA Software InstituteMadridSpain

Personalised recommendations