Inferring Models of Concurrent Systems from Logs of Their Behavior with CSight

被引:110
|
作者
Beschastnikh, Ivan [1 ]
Brun, Yuriy [2 ]
Ernst, Michael D. [3 ]
Krishnamurthy, Arvind [3 ]
机构
[1] Univ British Columbia, Dept Comp Sci, Vancouver, BC, Canada
[2] Univ Massachusetts, Sch Comp Sci, Amherst, MA 01003 USA
[3] Univ Washington, Comp Sci & Engn, Seattle, WA 98195 USA
关键词
Model inference; log analysis; concurrency; distributed systems; CSight;
D O I
10.1145/2568225.2568246
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Concurrent systems are notoriously difficult to debug and understand. A common way of gaining insight into system behavior is to inspect execution logs and documentation. Unfortunately, manual inspection of logs is an arduous process, and documentation is often incomplete and out of sync with the implementation. To provide developers with more insight into concurrent systems, we developed CSight. CSight mines logs of a system's executions to infer a concise and accurate model of that system's behavior, in the form of a communicating finite state machine (CFSM). Engineers can use the inferred CFSM model to understand complex behavior, detect anomalies, debug, and increase confidence in the correctness of their implementations. CSight's only requirement is that the logged events have vector timestamps. We provide a tool that automatically adds vector timestamps to system logs. Our tool prototypes are available at http://synoptic.googlecode.com/. This paper presents algorithms for inferring CFSM models from traces of concurrent systems, proves them correct, provides an implementation, and evaluates the implementation in two ways: by running it on logs from three different networked systems and via a user study that focused on bug finding. Our evaluation finds that CSight infers accurate models that can help developers find bugs.
引用
收藏
页码:468 / 479
页数:12
相关论文
共 50 条
  • [1] On the Quality of Classification Models for Inferring ABAC Policies from Access Logs
    Cappelletti, Luca
    Valtolina, Stefano
    Valentini, Giorgio
    Mesiti, Marco
    Bertino, Elisa
    2019 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2019, : 4000 - 4007
  • [2] Inferring User Actions from Provenance Logs
    Li, Xin
    Joshi, Chaitanya
    Tan, Alan Y. S.
    Ko, Ryan K. L.
    2015 IEEE TRUSTCOM/BIGDATASE/ISPA, VOL 1, 2015, : 742 - 749
  • [3] Inferring Approximated Models for Systems Engineering
    Petrenko, Alexandre
    Li, Keqin
    Groz, Roland
    Hossen, Karim
    Oriat, Catherine
    2014 IEEE 15TH INTERNATIONAL SYMPOSIUM ON HIGH-ASSURANCE SYSTEMS ENGINEERING (HASE), 2014, : 249 - 253
  • [4] From Process Models to Concurrent Systems in Alvis Language
    Szpyrka, Marcin
    Nalepa, Grzegorz J.
    Kluza, Krzysztof
    INFORMATICA, 2017, 28 (03) : 525 - 545
  • [5] Logs and models in engineering complex embedded systems
    Yang, Nan
    Cuijpers, Pieter
    Schiffelers, Ramon
    Lukkien, Johan
    Serebrenik, Alexander
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2021), 2021, : 695 - 700
  • [6] Inferring the Repetitive Behaviour from Event Logs for Process Mining Discovery
    Tapia-Flores, Tonatiuh
    Lopez-Mellado, Ernesto
    MINING INTELLIGENCE AND KNOWLEDGE EXPLORATION (MIKE 2016), 2017, 10089 : 164 - 173
  • [7] PatternLens: Inferring evolutive patterns from web API usage logs
    Koci, Rediana
    Franch, Xavier
    Jovanovic, Petar
    Abello, Alberto
    INTELLIGENT INFORMATION SYSTEMS, CAISE FORUM 2021, 2021, 424 : 146 - 153
  • [8] INFERRING ATTITUDES FROM BEHAVIOR
    WILSON, A
    HISTORICAL METHODS, 1981, 14 (03): : 143 - 144
  • [9] Inferring FSM Models of Systems Without Reset
    Groz, Roland
    Simao, Adenilso
    Petrenko, Alexandre
    Oriat, Catherine
    MACHINE LEARNING FOR DYNAMIC SOFTWARE ANALYSIS: POTENTIALS AND LIMITS, 2018, 11026 : 178 - 201
  • [10] Discovering models of behavior for concurrent workflows
    Cook, JE
    Du, ZD
    Liu, CB
    Wolf, AL
    COMPUTERS IN INDUSTRY, 2004, 53 (03) : 297 - 319