Discovering Likely Invariants for Distributed Systems Through Runtime Monitoring and Learning

被引:0
|
作者
Xia, Yuan [1 ]
Sur, Deepayan [1 ]
Pingle, Aabha Shailesh [1 ]
Deshmukh, Jyotirmoy V. [1 ]
Raghothaman, Mukund [1 ]
Ravi, Srivatsan [1 ]
机构
[1] Univ Southern Calif, Los Angeles, CA 90007 USA
关键词
D O I
10.1007/978-3-031-82700-6_1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Characterizing the set of reachable states of a distributed protocol that uses asynchronous message-passing communication is difficult due to the exponential number of possible interleavings of local executions. Any syntactic expression overapproximating the set of reachable states is an invariant formula of the system, and is a valuable tool that can aid programmers in understanding global program behavior. In this paper, we propose a method for obtaining a formula that approximates the set of reachable states; we call this formula a likely invariant, and we learn it using information only obtained from system executions. Our method doubles up as a way for identifying states that may not be known to be reachable (based on the best-known likely invariant) and hence may appear anomalous to the system designer. In some cases, they may be actually anomalous and may indicate a lurking (heisenbug). Our method has the following main steps: (1) we observe the global states of the system reached during its execution, (2) we asynchronously learn a likely invariant from the observed global states, (3) we monitor the learned likely invariant for the system states that do not satisfy it, and (4) if such states are found, we revise the likely invariant. We implement our overall methodology for a number of distributed protocols written in the Promela language and show that our technique can learn useful information about the system from just runtime executions.
引用
收藏
页码:3 / 25
页数:23
相关论文
共 50 条
  • [41] A survey on runtime testing of dynamically adaptable and distributed systems
    Mariam Lahami
    Moez Krichen
    Software Quality Journal, 2021, 29 : 555 - 593
  • [42] Runtime Verification for Distributed Cyber-Physical Systems
    Momtaz, Anik
    2021 40TH INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS 2021), 2021, : 349 - 350
  • [43] Finding Almost-Invariants in Distributed Systems
    Yabandeh, Maysam
    Anand, Abhishek
    Canini, Marco
    Kostic, Dejan
    2011 30TH IEEE INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS), 2011, : 177 - 182
  • [44] Aster: A framework for sound customization of distributed runtime systems
    Issarny, V
    Bidan, C
    PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, 1996, : 586 - 593
  • [45] Learning Invariants through Soft Unification
    Cingillioglu, Nuri
    Russo, Alessandra
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 33, NEURIPS 2020, 2020, 33
  • [46] Online dependability assessment through runtime monitoring and prediction
    Malek, Miroslaw
    EDCC-7: SEVENTH EUROPEAN DEPENDABLE COMPUTING CONFERENCE, PROCEEDINGS, 2008, : 181 - 181
  • [47] Distributed graph queries over models@run.time for runtime monitoring of cyber-physical systems
    Márton Búr
    Gábor Szilágyi
    András Vörös
    Dániel Varró
    International Journal on Software Tools for Technology Transfer, 2020, 22 : 79 - 102
  • [48] Distributed graph queries over models@run.time for runtime monitoring of cyber-physical systems
    Bur, Marton
    Szilagyi, Gabor
    Voros, Andras
    Varro, Daniel
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2020, 22 (01) : 79 - 102
  • [49] MONITORING DISTRIBUTED SYSTEMS
    JOYCE, J
    LOMOW, G
    SLIND, K
    UNGER, B
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1987, 5 (02): : 121 - 150
  • [50] Monitoring distributed systems with distributed algorithms
    Fabre, E
    Pigourier, V
    PROCEEDINGS OF THE 41ST IEEE CONFERENCE ON DECISION AND CONTROL, VOLS 1-4, 2002, : 411 - 416