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 条
  • [31] Runtime-Monitoring for Industrial Control Systems
    Janicke, Helge
    Nicholson, Andrew
    Webber, Stuart
    Cau, Antonio
    ELECTRONICS, 2015, 4 (04): : 995 - 1017
  • [32] Distributed Finite-State Runtime Monitoring with Aggregated Events
    Falzon, Kevin
    Bodden, Eric
    Purandare, Rahul
    RUNTIME VERIFICATION, RV 2013, 2013, 8174 : 94 - 111
  • [33] Monitoring and Visualizing Adaptation of Autonomic Systems at Runtime
    Abeywickrama, Dhaminda B.
    Serbedzija, Nikola
    Loreti, Michele
    30TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, VOLS I AND II, 2015, : 1857 - 1860
  • [34] Inferring and monitoring invariants in robotic systems
    Jiang, Hengle
    Elbaum, Sebastian
    Detweiler, Carrick
    AUTONOMOUS ROBOTS, 2017, 41 (04) : 1027 - 1046
  • [35] Towards Distributed Runtime Monitoring with C plus plus Contracts
    Schmedes, Rolf
    Ittershagen, Philipp
    Gruettner, Kim
    INTERNATIONAL CONFERENCE ON OMNI-LAYER INTELLIGENT SYSTEMS (COINS), 2019, : 141 - 145
  • [36] Inferring and monitoring invariants in robotic systems
    Hengle Jiang
    Sebastian Elbaum
    Carrick Detweiler
    Autonomous Robots, 2017, 41 : 1027 - 1046
  • [37] Distributed Machine Learning through Heterogeneous Edge Systems
    Hu, Hanpeng
    Wang, Dan
    Wu, Chuan
    THIRTY-FOURTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THE THIRTY-SECOND INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE AND THE TENTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2020, 34 : 7179 - 7186
  • [38] Decentralized Runtime Verification of LTL Specifications in Distributed Systems
    Mostafa, Menna
    Bonakdarpour, Borzoo
    2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2015, : 494 - 503
  • [39] RADICS: Runtime Assurance of Distributed Intelligent Control Systems
    Wheatman, Brian
    Chen, Jerry
    Sookoor, Tamim
    Amir, Yair
    51ST ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN-W 2021), 2021, : 182 - 187
  • [40] A survey on runtime testing of dynamically adaptable and distributed systems
    Lahami, Mariam
    Krichen, Moez
    SOFTWARE QUALITY JOURNAL, 2021, 29 (02) : 555 - 593