Graph Grammar Modeling and Verification of Ad Hoc Routing Protocols

We present a technique for modeling and automatic verification of network protocols, based on graph transformation. It is suitable for protocols with a potentially unbounded number of nodes, in which the structure and topology of the network is a central aspect, such as routing protocols for ad hoc networks. Safety properties are specified as a set of undesirable global configurations. We verify that there is no undesirable configuration which is reachable from an initial configuration, by means of symbolic backward reachability analysis. In general, the reachability problem is undecidable.We implement the technique in a graph grammar analysis tool, and automatically verify several interesting nontrivial examples. Notably, we prove loop freedom for the DYMO ad hoc routing protocol. DYMO is currently on the IETF standards track, to potentially become an Internet standard.

[1]  Amir Pnueli,et al.  Model checking and abstraction to the aid of parameterized systems (a survey) , 2004, Comput. Lang. Syst. Struct..

[2]  David L. Dill,et al.  Counter-Example Based Predicate Discovery in Predicate Abstraction , 2002, FMCAD.

[3]  Parosh Aziz Abdulla,et al.  Verifying programs with unreliable channels , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[4]  Barbara König,et al.  Counterexample-Guided Abstraction Refinement for the Analysis of Graph Transformation Systems , 2006, TACAS.

[5]  Richard Gold,et al.  LUNAR - A Lightweight Underlay Network Ad-hoc Routing Protocol and Implementation , 2004 .

[6]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[7]  Parosh Aziz Abdulla,et al.  A Survey of Regular Model Checking , 2004, CONCUR.

[8]  Bengt Jonsson,et al.  Verifying Safety Properties of a Class of Infinite-State Distributed Algorithms , 1995, CAV.

[9]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[10]  Eryk Dutkiewicz,et al.  A review of routing protocols for mobile ad hoc networks , 2004, Ad Hoc Networks.

[11]  David A. Maltz,et al.  A performance comparison of multi-hop wireless ad hoc network routing protocols , 1998, MobiCom '98.

[12]  Carl A. Gunter,et al.  Formal verification of standards for distance vector routing protocols , 2002, JACM.

[13]  Parosh Aziz Abdulla,et al.  Regular Model Checking Without Transducers (On Efficient Verification of Parameterized Systems) , 2007, TACAS.

[14]  Arend Rensink,et al.  Model Checking Dynamic States in GROOVE , 2006, SPIN.

[15]  Charles E. Perkins,et al.  Ad-hoc on-demand distance vector routing , 1999, Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications.

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

[17]  Parosh Aziz Abdulla,et al.  Regular Model Checking without Transducers , 2007 .

[18]  Holger Giese,et al.  Symbolic invariant verification for systems with dynamic structural adaptation , 2006, ICSE.

[19]  Reinhard Wilhelm,et al.  Static Analysis of Dynamic Communication Systems by Partner Abstraction , 2007, SAS.

[20]  David A. Maltz,et al.  DSR: the dynamic source routing protocol for multihop wireless ad hoc networks , 2001 .

[21]  Jörg Kreiker Analysis of communication topologies by partner abstraction , 2006 .

[22]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[23]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[24]  Parosh Aziz Abdulla,et al.  Algorithmic Analysis of Programs with Well Quasi-ordered Domains , 2000, Inf. Comput..

[25]  Parosh Aziz Abdulla,et al.  Static Analysis of Dynamic Communication Systems , 2007 .