A formal approach to property testing in causally consistent distributed traces

A formal framework for the analysis of execution traces collected from distributed systems at run-time is presented. We introduce the notions of event and message traces to capture the consistency of causal dependencies between the elements of a trace. We formulate an approach to property testing where a partially ordered execution trace is modeled by a collection of communicating automata. We prove that the model exactly characterizes the causality relation between the events/messages in the observed trace and discuss the implementation of this approach in SDL, where ObjectGEODE is used to verify properties using model-checking techniques. Finally, we illustrate the approach with industrial case studies.

[1]  Michel A. Reniers,et al.  A hierarchy of communication models for Message Sequence Charts , 1997, Sci. Comput. Program..

[2]  V. Garg,et al.  Happened Before is the Wrong Model for Potential Causality , 1998 .

[3]  Nikolai Mansurov,et al.  Automatic synthesis of SDL models in use case methodology , 1999, SDL Forum.

[4]  Philippe Dhaussy,et al.  Extending the Translation from SDL to Promela , 2002, SPIN.

[5]  Marten van Sinderen,et al.  Monitoring of Distributed Component Interactions , 2000 .

[6]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  Maurice Pouzet,et al.  Linear Extensions of Ordered Sets , 1982 .

[8]  Rajeev Alur,et al.  Model Checking of Message Sequence Charts , 1999, CONCUR.

[9]  Carl A. Gunter,et al.  What packets may come: automata for network monitoring , 2001, POPL '01.

[10]  David C. Luckham,et al.  Complex Event Processing in Distributed Systems , 1998 .

[11]  Peter B. Ladkin,et al.  Implementing and verifying MSC specifications using Promela/XSpin , 1996, The Spin Verification System.

[12]  Larry D. Wittie,et al.  BUGNET: A Debugging system for parallel programming environments , 1982, ICDCS.

[13]  Jong-Deok Choi,et al.  Breakpoints and halting in distributed programs , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[14]  Lori A. Clarke,et al.  Data flow analysis for verifying properties of concurrent programs , 1994, SIGSOFT '94.

[15]  B. Algayres,et al.  GOAL: Observing SDL behaviors with GEODE , 1995 .

[16]  Alexandre Petrenko,et al.  An Automata-Based Approach to Property Testing in Event Traces , 2003, TestCom.

[17]  Andrej Pietschker,et al.  A Light-weight Method for Trace Analysis to Support Fault Diagnosis in Concurrent Systems , 2002 .

[18]  Peter B. Ladkin,et al.  Interpreting Message Flow Graphs , 1995, Formal Aspects of Computing.

[19]  Michel Raynal,et al.  On the Fly Testing of Regular Patterns in Distributed Computations , 1994, 1994 Internatonal Conference on Parallel Processing Vol. 2.

[20]  Leslie Lamport,et al.  Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985, Munich, Germany , 1985, Advanced Course: Distributed Systems.

[21]  Jan C. A. van der Lubbe,et al.  Basic Methods of Cryptography , 1998 .

[22]  Paul A. S. Ward A framework algorithm for dynamic, centralized dimension-bounded timestamps , 2000, CASCON.

[23]  Vijay K. Garg,et al.  On Checking Whether a Predicate Definitely Holds , 2003, FATES.

[24]  Alexandre Petrenko,et al.  Using SDL Tools to Test Properties of Distributed Systems , 2001 .

[25]  Peter Grogono,et al.  Deriving an SDL specification with a given architecture from a set of MSCs , 1997, SDL Forum.

[26]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[27]  Peter B. Ladkin,et al.  Interpreting Message Flow , 1995 .

[28]  Alexandre Petrenko,et al.  Verifying trustworthiness requirements in distributed systems with formal log-file analysis , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[29]  Gunnar Heine,et al.  GSM Networks: Protocols, Terminology and Implementation , 1998 .

[30]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[31]  Thierry Jéron,et al.  A general approach to trace-checking in distributed computing systems , 1994, 14th International Conference on Distributed Computing Systems.

[32]  Thomas Kunz,et al.  Linking Specification, Abstraction, and Debugging , 1993 .

[33]  Vern Paxson,et al.  Automated packet trace analysis of TCP implementations , 1997, SIGCOMM '97.

[34]  Jason Lee,et al.  NetLogger: a toolkit for distributed system performance analysis , 2000, Proceedings 8th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (Cat. No.PR00728).

[35]  Insup Lee,et al.  Information extraction for run-time formal analysis , 2001 .