Efficient Interaction-Based Offline Runtime Verification of Distributed Systems with Lifeline Removal (2403.03057v1)
Abstract: Runtime Verification (RV) refers to a family of techniques in which system executions are observed and confronted to formal specifications, with the aim of identifying faults. In Offline RV, observation is done in a first step and verification in a second, on a static artifact collected during observation. In this paper, we define an approach to offline RV of Distributed Systems (DS) against interactions. Interactions are formal models describing communications within a DS. DS are composed of subsystems deployed on different machines and interacting via message passing. Therefore, observing executions of a DS entails logging a collection of local execution traces, one for each subsystem, that we call a multi-trace. A major challenge in analyzing multi-traces is that there are no practical means to synchronize the ends of observations of all local traces. We address this via an operation, called lifeline removal, which we apply on-the-fly on the specification during verification once a local trace has been entirely analyzed. This operation removes from the interaction the specification of actions occurring on the subsystem that is no-longer observed. This may allow further execution of the specification via removing deadlocks due to the partial orders of actions. We prove the correctness of the resulting RV algorithm and introduce two optimization techniques which we also prove correct. We implement a Partial Order Reduction (POR) technique via the selection of a one-unambiguous action (as a unique first step to a linearization) which existence is determined via another use of the lifeline removal operator. Additionally, Local Analyses (LOC) i.e., the verification of local traces, can be leveraged during the global multi-trace analysis to prove failure more quickly. Experiments illustrate the application of our RV approach and the benefits of our optimizations.
- Realizability and verification of MSC graphs, in: Orejas, F., Spirakis, P.G., van Leeuwen, J. (Eds.), Automata, Languages and Programming, 28th International Colloquium, ICALP 2001, Crete, Greece, July 8-12, 2001, Proceedings, Springer. pp. 797–808. doi:10.1007/3-540-48224-5_65.
- Coping with bad agent interaction protocols when monitoring partially observable multiagent systems, in: Demazeau, Y., An, B., Bajo, J., Fernández-Caballero, A. (Eds.), Advances in Practical Applications of Agents, Multi-Agent Systems, and Complexity: The PAAMS Collection, Springer International Publishing, Cham. pp. 59–71.
- Decentralised LTL monitoring. Formal Methods Syst. Des. 48, 46–93. URL: https://doi.org/10.1007/s10703-016-0253-8, doi:10.1007/s10703-016-0253-8.
- Constraint-based oracles for timed distributed systems, in: Yevtushenko, N., Cavalli, A.R., Yenigün, H. (Eds.), Testing Software and Systems, Springer International Publishing, Cham. pp. 276–292.
- Learning deterministic regular expressions for the inference of schemas from xml data. ACM Trans. Web 4. doi:10.1145/1841909.1841911.
- Monitoring networks through multiparty session types. Theor. Comput. Sci. 669, 33–58. URL: https://doi.org/10.1016/j.tcs.2017.02.009, doi:10.1016/j.tcs.2017.02.009.
- Derivatives of regular expressions. J. ACM 11, 481–494. URL: https://doi.org/10.1145/321239.321249, doi:10.1145/321239.321249.
- One-unambiguous regular languages. Information and Computation 140, 229–253. doi:10.1006/inco.1997.2688.
- Lsc’s: Breathing life into message sequence charts, in: Ciancarini, P., Fantechi, A., Gorrieri, R. (Eds.), Formal Methods for Open Object-Based Distributed Systems, Springer US, Boston, MA. pp. 293–311.
- The oracle problem when testing from mscs. Comput. J. 57, 987–1001. doi:10.1093/comjnl/bxt055.
- Rewrite systems, in: van Leeuwen, J. (Ed.), Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics. Elsevier and MIT Press, pp. 243–320.
- Monitoring decentralized specifications, in: Bultan, T., Sen, K. (Eds.), Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, Santa Barbara, CA, USA, July 10 - 14, 2017, ACM. pp. 125–135. URL: https://doi.org/10.1145/3092703.3092723, doi:10.1145/3092703.3092723.
- A taxonomy for classifying runtime verification tools. Int. J. Softw. Tools Technol. Transf. 23, 255–284. doi:10.1007/s10009-021-00609-z.
- Runtime verification for decentralised and distributed systems, in: Bartocci, E., Falcone, Y. (Eds.), Lectures on Runtime Verification - Introductory and Advanced Topics. Springer. volume 10457 of Lecture Notes in Computer Science, pp. 176–210. doi:10.1007/978-3-319-75632-5_6.
- Pattern matching and membership for hierarchical message sequence charts. Theory Comput. Syst. 42, 536–567. doi:10.1007/s00224-007-9054-1.
- Object Management Group, 2017. Unified Modeling Language v2.5.1.
- Deterministic regular expressions in linear time, in: Proceedings of the 31st ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, Association for Computing Machinery, New York, NY, USA. p. 49–60. doi:10.1145/2213556.2213566.
- Violin plots: A box plot-density trace synergism. The American Statistician 52, 181–184. doi:10.1080/00031305.1998.10480559.
- A novel runtime verification solution for iot systems. IEEE Access 6, 13501–13512. URL: https://doi.org/10.1109/ACCESS.2018.2813887, doi:10.1109/ACCESS.2018.2813887.
- UML interactions meet state machines - an institutional approach, in: 7th Conference on Algebra and Coalgebra in Computer Science, CALCO, Schloss Dagstuhl - Leibniz-Zentrum für Informatik. pp. 15:1–15:15.
- Interaction-based runtime verification for systems of systems integration. J. Log. Comput. 20, 725–742. URL: https://doi.org/10.1093/logcom/exn079, doi:10.1093/LOGCOM/EXN079.
- Time, clocks, and the ordering of events in a distributed system, in: Malkhi, D. (Ed.), Concurrency: the Works of Leslie Lamport. ACM, pp. 179–196. doi:10.1145/3335772.3335934.
- Hibou tool. https://github.com/erwanM974/hibou˙label.
- Experiments on graph size for multi-prefix analysis. https://github.com/erwanM974/hibou˙lfrem˙por˙loc˙graph˙size˙benchmark.
- Experiments on time for multi-prefix analysis. https://github.com/erwanM974/hibou˙lfrem˙por˙loc˙time˙benchmark.
- A small-step approach to multi-trace checking against interactions, in: Hung, C., Hong, J., Bechini, A., Song, E. (Eds.), SAC ’21: The 36th ACM/SIGAPP Symposium on Applied Computing, Virtual Event, Republic of Korea, March 22-26, 2021, ACM. pp. 1815–1822.
- Interaction-based offline runtime verification of distributed systems, in: Hojjat, H., Ábrahám, E. (Eds.), Fundamentals of Software Engineering, Springer Nature Switzerland, Cham. pp. 88–103.
- Finite automata synthesis from interactions. to appear in FORMALISE 2024 https://conf.researchr.org/details/Formalise-2024/Formalise-2024-papers/13/Finite-Automata-synthesis-from-Interactions.
- Denotational and operational semantics for interaction languages: Application to trace analysis. Sci. Comput. Program. 232, 103034. doi:10.1016/J.SCICO.2023.103034.
- High-level message sequence charts, in: SDL ’97 Time for Testing, SDL, MSC and Trends - 8th International SDL Forum, Proceedings, Elsevier. pp. 291–306.
- Operational semantics for msc. Computer Networks 31, 1785–1799.
- Partial-order reduction for parity games and parameterised boolean equation systems. Int. J. Softw. Tools Technol. Transf. 24, 735–756. doi:10.1007/S10009-022-00672-0.
- Passive conformance testing of service choreographies, in: Ossowski, S., Lecca, P. (Eds.), Proceedings of the ACM Symposium on Applied Computing, SAC 2012, Riva, Trento, Italy, March 26-30, 2012, ACM. pp. 1528–1535. doi:10.1145/2245276.2232020.
- Combining partial order reductions with on-the-fly model-checking, in: Proceedings of the 6th International Conference on Computer Aided Verification, Springer-Verlag, Berlin, Heidelberg. p. 377–390.
- A structural approach to operational semantics. The Journal of Logic and Algebraic Programming 60-61, 17–139. doi:10.1016/j.jlap.2004.05.001.
- A survey of challenges for runtime verification from advanced application domains (beyond software). Formal Methods Syst. Des. 54, 279–335. URL: https://doi.org/10.1007/s10703-019-00337-w, doi:10.1007/s10703-019-00337-w.
- The complexity of satisfiability problems, in: Lipton, R.J., Burkhard, W.A., Savitch, W.J., Friedman, E.P., Aho, A.V. (Eds.), Proceedings of the 10th Annual ACM Symposium on Theory of Computing, May 1-3, 1978, San Diego, California, USA, ACM. pp. 216–226. doi:10.1145/800133.804350.
- Efficient decentralized monitoring of safety in distributed systems, in: Finkelstein, A., Estublier, J., Rosenblum, D.S. (Eds.), 26th International Conference on Software Engineering (ICSE 2004), 23-28 May 2004, Edinburgh, United Kingdom, IEEE Computer Society. pp. 418–427. URL: https://doi.org/10.1109/ICSE.2004.1317464, doi:10.1109/ICSE.2004.1317464.
- Organization for the Advancement of Structured Information Standards, 2019. Message Queuing Telemetry Transport v5.0. docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.pdf.
- International Telecommunication Union, 2011. Z.120 Message Sequence Chart.
- Eliminating redundant interleavings during concurrent program verification, in: Odijk, E., Rem, M., Syre, J.C. (Eds.), PARLE ’89 Parallel Architectures and Languages Europe, Springer Berlin Heidelberg, Berlin, Heidelberg. pp. 89–103.
- Partial-order methods for model checking: From linear time to branching time, in: Logic in Computer Science, Symposium on, IEEE Computer Society, Los Alamitos, CA, USA. p. 294. doi:10.1109/LICS.1996.561357.