Gaining Insight into Systems with Model Inference
A common challenge faced by a developer working on a large system is not knowing whether their system implementation does what it was designed to do. My take on this problem is to help developers make sense of their systems by leveraging the extensive logs generated by large systems. In this talk I will overview Synoptic and Dynoptic, which are tools that infer models from logs of sequential and distributed systems’ executions. These models can be used by the developer to identify bugs, confirm existing bugs, and increased their confidence in the implementation. I will also describe InvariMint, a technique to unify model inference algorithms by specifying these algorithms declaratively. All three tools process the logs most systems already produce and only require the developer to specify a set of regular expressions for parsing the input logs.
Ivan Beschastnikh is a final-year PhD student at the University of Washington (UW) working with Tom Anderson, Michael D. Ernst, and Arvind Krishnamurthy. His research aim is to improve the design, implementation, and operation of large systems by using techniques from the areas of systems and software engineering.