ABSTRACT
Networked systems are often difficult to debug and understand. A common way of gaining insight into system behavior is to inspect execution logs and documentation. Unfortunately, manual log inspection is difficult and documentation is often incomplete and out of sync with the implementation.
To provide developers with more insight into networked systems I am working Dynoptic, a tool that infers a concise and accurate system model, in the form of a communicating finite state machine from logs. Developers can use the inferred models to understand behavior, detect anomalies, verify known bugs, diagnose new bugs, and increase their confidence in the correctness of their implementation. Unlike most related work, Dynoptic does not require developer-written scenarios, specifications, negative execution examples, or other complex input. Dynoptic processes the logs most systems already produce and requires developers only to specify a set of regular expressions for parsing the logs.
- A. Annichini, A. Bouajjani, and M. Sighireanu. TReX: A Tool for Reachability Analysis of Complex Systems. In CAV, 2001. Google ScholarDigital Library
- I. Beschastnikh, Y. Brun, M. D. Ernst, A. Krishnamurthy, and T. E. Anderson. Mining Temporal Invariants from Partially Ordered Logs. OSR, 45(3):39--46, Dec. 2011. Google ScholarDigital Library
- I. Beschastnikh, Y. Brun, S. Schneider, M. Sloan, and M. D. Ernst. Leveraging Existing Instrumentation to Automatically Infer Invariant-Constrained Models. In ESEC/FSE, 2011. Google ScholarDigital Library
- A. W. Biermann and J. A. Feldman. On the Synthesis of Finite-State Machines from Samples of Their Behavior. IEEE TC, 21(6):592--597, 1972. Google ScholarDigital Library
- B. Boigelot and P. Godefroid. Symbolic Verification of Communication Protocols with Infinite StateSpaces using QDDs. Form. Methods Syst. Des., 14(3):237--255, May 1999. Google ScholarDigital Library
- D. Brand and P. Zafiropulo. On Communicating Finite-State Machines. JACM, 30(2):323--342, Apr. 1983. Google ScholarDigital Library
- X. J. Chen and H. Ural. Construction of Deadlock-free Designs of Communication Protocols from Observations. The Computer Journal, 45(2):162--173, Jan. 2002.Google ScholarCross Ref
- E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided Abstraction Refinement. In CAV. Springer, 2000. Google ScholarDigital Library
- A. Heussner, T. Gall, and G. Sutre. Extrapolation-Based Path Invariants for Abstraction Refinement of Fifo Systems. In SPIN, 2009. Google ScholarDigital Library
- A. Heussner, T. Le Gall, and G. Sutre. McScM: a general framework for the verification of communicating machines. In TACAS, 2012. Google ScholarDigital Library
- L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. CACM, 21(7):558--565, July 1978. Google ScholarDigital Library
- D. Lo, L. Mariani, and M. Pezzè. Automatic steering of behavioral model inference. In ESEC/FSE, 2009. Google ScholarDigital Library
- D. Lorenzoli, L. Mariani, and M. Pezzè. Automatic generation of software behavioral models. In ICSE, 2008. Google ScholarDigital Library
- L. Mariani and M. Pezzè. Dynamic Detection of COTS Component Incompatibility. IEEE Software, 24(5):76--85, 2007. Google ScholarDigital Library
- S. P. Reiss and M. Renieris. Encoding Program Executions. In ICSE, 2001. Google ScholarDigital Library
- H. Ural and H. Yenigün. Towards Design Recovery from Observations, volume 3235, chapter 9, pages 133--149. Springer Berlin Heidelberg, Berlin, Heidelberg, 2004.Google Scholar
- W. Xu, L. Huang, A. Fox, D. Patterson, and M. Jordan. Experience Mining Google's Production Console Logs. In SLAML, 2010. Google ScholarDigital Library
Index Terms
- Inferring networked system models from behavior traces
Recommendations
Inferring models of concurrent systems from logs of their behavior with CSight
ICSE 2014: Proceedings of the 36th International Conference on Software EngineeringConcurrent 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 ...
Inferring project-specific bug patterns for detecting sibling bugs
ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software EngineeringLightweight static bug-detection tools such as FindBugs, PMD, Jlint, and Lint4j detect bugs with the knowledge of generic bug patterns (e.g., objects of java.io.InputStream are not closed in time after used). Besides generic bug patterns, different ...
Inferring social contextual behavior from bluetooth traces
UbiComp '13 Adjunct: Proceedings of the 2013 ACM conference on Pervasive and ubiquitous computing adjunct publicationContext-aware computing is increasingly paid much attention, especially makes the people's social contextual behavior very crucial for user-centric dynamic behavior inference. At present, extensive work has focused on detecting specific places inferred ...
Comments