270 likes | 429 Views
T owards Interoperability Test Generation of Time Dependent Protocols: a Case Study. (Globecom2004). Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua University http://netlab.cs.tsinghua.edu.cn. Outline. Background Motivation Our proposed method
E N D
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study (Globecom2004) Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua University http://netlab.cs.tsinghua.edu.cn
Outline • Background • Motivation • Our proposed method • Conclusion and Future work
Background: Protocol Testing • Conformance testing • Basic method of protocol testing • Test whether an implementation conforms to its protocol specification • Test a single protocol entity • Interoperability testing • Complement of conformance testing • Test whether two or more protocol implementations can communicate with each other correctly and inter-operate as a whole system to perform functions specified in protocol specifications • Test two or more protocol entities
Background: Protocol Testing Protocol Specification Test Generation Implementation Processes Abstract Test Suite Protocol Impl. SUT Test Implementation Test Execution Test Verdict
Background: Time-Dependent Protocols • Real-life network protocols • Behaviors of input and output • Their time of occurrence • Time dependent! • Conformance testing of time-dependent protocols • Protocol modeling: Timed Automaton and its variants (e.g. TIOA) • Many researches have been done • Interoperability testing of time-dependent protocols • No work considered time constraints • Existing methods are difficult to be applied in the real-life interoperability testing • This paper studied interoperability test generation for time dependent protocols
Background: Neighbor Discovery Protocol • One of the basic protocols in IPv6 protocol set • Should be supported in all IPv6 implementations • Corresponding functions in IPv4 • ARP (Address Resolution Protocol) • ICMP router discovery • ICMP redirect function • Using 5 ICMP packet types: • RS: Router Solicitation • RA: Router Advertisement • NS: Neighbor Solicitation • NA:Neighbor Advertisement • Redirect
Outline • Background • Motivation • Our proposed method • Conclusion and Future work
calculate the composite automaton of TIOAs using reachability analysis method Generate grid automaton for each TIOA Calculate a composite product of grid automata Generateinteroperability test sequences An improved method Apply existing non-timed interoperability test generation methods Analyze the executability of derived test sequences Motivation • System (Protocol) Modeling • Single protocol entity: TIOA (Timed Input Output Automata) • Two or more protocol entities: CTIOA (Communicating TIOA) • An TIOA set • Channels between TIOAs • Test Generation Method Problem: state space explosion!!
Outline • Background • Motivation • Our proposed method • Formal model and protocol specification • Test architecture • Test generation • Executability analysis • Conclusion and Future work
Formal Model • Communicating Timed Input Output Automata (CTIOA) • a set of TIOAs M: Mi = • SMi: set of states; • LMi: set of input and output actions: (“!a”, “?b”); • sMi0: initial state; • CMi: set of clocks; • TMi: set of transitions: • a set of channels C: • Cijrepresents the communicating channel from TIOA Mi to Mj. • Semantic of channels: the output of TIOA Mi can be transferred to the input of Mj via channel Cij • An assumption: time taken for an IO action via a channel is approximately equal to 0 (Normal network load) Predicate of clock values IO action Clock set to be reset !a ?a a Mi Mj Cij
Protocol Specification • Router discovery function in ND Protocol • Two types of nodes: Router and Host • Protocol specification uS_RA: Unsolicited Router Advertisements S_RA: Solicited Router Advertisements RS: Router Solicitations Clock set: Router node: {t11, t12} Host node: {t21, t22} Channel set: {CRH, CHR} Transition Examples: ?RS[0<t11<3] ?RS[t11>=3]/{t12} 1 2 1 3
Test Architecture PO: Point of Observation Control line: e.g. Telnet
Test Cases Generation (overview) Calculate the composite automaton of TIOAs using reachability analysis method Generateinteroperability test sequences Analyze the executability of derived test sequences
Reachability Analysis • Global Reachability Graph • Synchronizing Transitions and ________________________________________________________ and and
Reachability Analysis • An example of Global Reachability Graph (Tree) • DFS-based method Model
Test Cases Generation(overview) Calculate the composite automaton of TIOAs using reachability analysis method Generateinteroperability test sequences Analyze the executability of derived test sequences
(b) (a) Test Generation • An example
Test Cases Generation(overview) Calculate the composite automaton of TIOAs using reachability analysis method Generateinteroperability test sequences Analyze the executability of derived test sequences
Global Clocks Local Clocks C1({tij1|i, j}) ∧ C2({tij2|i, j}) ∧ ... ∧ Cn({tijn|i, j}) Local Clocks C({dij|i, j}, {ttk|k}) Global Clocks Executability Analysis • Executability: satisfies all time constrains • IOTS = ST1·ST2·...·STn C1({dij|i, j}, tt0) ∧ C2({dij|i, j}, tt0, tt1) ∧ ... ∧ Cn({dij|i, j}, tt0, tt1, ..., ttn-1) [Theorem 1] tijk must be represented by a linear combination of tts(s = 0,1,…,k-1) and dij (initial local clock values).
Executability Analysis (cont) • Problem 1: Executability Determination Given (1) IOTS = ST1·ST2·...·STn;(2) each initial local clock values dij.Determine if IOTS is executable. C1({dij|i, j}, tt0) ∧ C2({dij|i, j}, tt0, tt1) ∧ ... ∧ Cn({dij|i, j}, tt0, tt1, ..., ttn-1) C1(tt0) ∧ C2(tt0, tt1) ∧ ... ∧ Cn(tt0, tt1, ..., ttn-1)
Executability Analysis (cont) • Algorithm:
(b) (a) Executability Analysis (cont) • Example:
Executability Analysis (cont) • Problem 2: Generating Executable Test Sequence • Basic idea: select a set of appropriate initial clock values • assume that (1) a set of linear constraints C({dij|i, j}, {ttk|k}); (2) the value bounds of all initial clocks (dij ∈ [0, Dij]) are known, determine bounds of dij(i=1,2; j=1,2,…,ni) to make time constraints satisfied. • Method: Solve a linear programming problem • evaluate the value of Max(dij|i, j) and Min(dij|i,j) • No solution: must-inexecutable • Has a solution: may-executable the value bound of dij: [Min(dij|i,j), Max(dij|i, j)] • Problem: • More than one local clocks • Difficult to determine initial values of each local clock
Executability Analysis (cont) • Problem 3: Adaptive Executable Test Sequence • A heuristic method: set part of initial clock values in advance according to the test scenario • determine whether the test sequence is must-inexecutableor may-executable • Ifmust-inexecutablethen prune it from reachability tree; • Else evaluate value bounds of unset initial clocks. • divide the valid clock region into several sub-regions, so that only a unique test sequence tree exists in one sub-region
Example:set d21=0 Adaptive test sequence
Conclusion and Future work • Present a formal method to generate timed interoperability test sequence for time dependent protocols • Executability analysis can be reduced to a Linear Programming problem. • Alleviate state space explosion problem • Future work: • Analyze fault coverage of this method • Extend this method to the more common situations of interoperability testing • Apply it to the real-life protocol testing activities
Thank you!If you have any questions, please send email to:wzl@csnet1.cs.tsinghua.edu.cn