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
来源
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014) | 2014年
关键词
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
相关论文
共 58 条
  • [1] Aarts Fides, 2012, INT S FORM METH FM P
  • [2] Acharya Mithun, 2007, JOINT M EUR SOFTW EN
  • [3] Aguilera M. K., 2003, Operating Systems Review, V37, P74, DOI 10.1145/1165389.945454
  • [4] Alrajeh Dalal, 2009, INT C SOFTW ENG ICSE
  • [5] FINDING PATTERNS COMMON TO A SET OF STRINGS
    ANGLUIN, D
    [J]. JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1980, 21 (01) : 46 - 62
  • [6] [Anonymous], 2006, P 2006 INT S SOFTWAR
  • [7] [Anonymous], 1988, P 11 AUSTR COMP SCI
  • [8] [Anonymous], 2010, Computer Networks
  • [9] Barham Paul, 2004, NETWORKED SYSTEMS DE
  • [10] Beschastnikh I., 2012, ACM SIGOPS OPERATING, V45, P39, DOI DOI 10.1145/2094091.2094101