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 条
  • [11] A Runtime Monitoring Framework to Enforce Invariants on Reinforcement Learning Agents Exploring Complex Environments
    Mallozzi, Piergiuseppe
    Castellano, Ezequiel
    Pelliccione, Patrizio
    Schneider, Gerardo
    Tei, Kenji
    2019 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON ROBOTICS SOFTWARE ENGINEERING (ROSE 2019), 2019, : 5 - 12
  • [12] Discovering invariants via machine learning
    Ha, Seungwoong
    Jeong, Hawoong
    PHYSICAL REVIEW RESEARCH, 2021, 3 (.4):
  • [13] Distributed Graph Queries for Runtime Monitoring of Cyber-Physical Systems
    Bur, Marton
    Szilagyi, Gabor
    Voros, Andras
    Varro, Daniel
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2018), 2018, 10802 : 111 - 128
  • [14] RUNTIME MONITORING OF TIMING CONSTRAINTS IN DISTRIBUTED REAL-TIME SYSTEMS
    JAHANIAN, F
    RAJKUMAR, R
    RAJU, SCV
    REAL-TIME SYSTEMS, 1994, 7 (03) : 247 - 273
  • [15] Effective runtime monitoring of distributed event-based enterprise systems with ASIA
    Frischbier, Sebastian
    Turan, Erman
    Gesmann, Michael
    Margara, Alessandro
    Eyers, David
    Eugster, Patrick
    Pietzuch, Peter
    Buchmann, Alejandro
    2014 IEEE 7TH INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED COMPUTING AND APPLICATIONS (SOCA), 2014, : 41 - 48
  • [16] Runtime Monitoring for Concurrent Systems
    Yamagata, Yoriyuki
    Artho, Cyrille
    Hagiya, Masami
    Inoue, Jun
    Ma, Lei
    Tanabe, Yoshinori
    Yamamoto, Mitsuharu
    RUNTIME VERIFICATION, (RV 2016), 2016, 10012 : 386 - 403
  • [17] A runtime transformation method for distributed systems
    Murakami, M
    SERP'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH AND PRACTICE, VOLS 1 AND 2, 2003, : 119 - 125
  • [18] Learning Likely Invariants to Explain Why a Program Fails
    Pham, Long H.
    Sun, Jun
    Ly Ly Tran Thi
    Wang, Jingyi
    Peng, Xin
    2017 22ND INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS), 2017, : 70 - 79
  • [19] ARED: automata-based runtime estimation for distributed systems using deep learning
    Cheon, Hyunjoon
    Ryu, Jinseung
    Ryou, Jaecheol
    Park, Chan Yeol
    Han, Yo-Sub
    CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2023, 26 (05): : 2629 - 2641
  • [20] Runtime verification and monitoring of embedded systems
    Watterson, C.
    Heffernan, D.
    IET SOFTWARE, 2007, 1 (05) : 172 - 179