1 / 27

T owards Interoperability Test Generation of Time Dependent Protocols: a Case Study

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

idalee
Télécharger la présentation

T owards Interoperability Test Generation of Time Dependent Protocols: a Case Study

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Background • Motivation • Our proposed method • Conclusion and Future work

  3. 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

  4. Background: Protocol Testing Protocol Specification Test Generation Implementation Processes Abstract Test Suite Protocol Impl. SUT Test Implementation Test Execution Test Verdict

  5. 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

  6. 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

  7. Outline • Background • Motivation • Our proposed method • Conclusion and Future work

  8. 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!!

  9. Outline • Background • Motivation • Our proposed method • Formal model and protocol specification • Test architecture • Test generation • Executability analysis • Conclusion and Future work

  10. 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

  11. 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

  12. Test Architecture PO: Point of Observation Control line: e.g. Telnet

  13. Test Cases Generation (overview) Calculate the composite automaton of TIOAs using reachability analysis method Generateinteroperability test sequences Analyze the executability of derived test sequences

  14. Reachability Analysis • Global Reachability Graph • Synchronizing Transitions and ________________________________________________________ and and

  15. Reachability Analysis • An example of Global Reachability Graph (Tree) • DFS-based method Model

  16. Test Cases Generation(overview) Calculate the composite automaton of TIOAs using reachability analysis method Generateinteroperability test sequences Analyze the executability of derived test sequences

  17. (b) (a) Test Generation • An example

  18. Test Cases Generation(overview) Calculate the composite automaton of TIOAs using reachability analysis method Generateinteroperability test sequences Analyze the executability of derived test sequences

  19. 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).

  20. 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)

  21. Executability Analysis (cont) • Algorithm:

  22. (b) (a) Executability Analysis (cont) • Example:

  23. 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

  24. 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

  25. Example:set d21=0 Adaptive test sequence

  26. 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

  27. Thank you!If you have any questions, please send email to:wzl@csnet1.cs.tsinghua.edu.cn

More Related