protocol analysis/testing based on sidhu et al in ieee tse 89 and tn 93 figures from the papers
TRANSCRIPT
![Page 1: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/1.jpg)
Protocol Analysis/Testing
Based on Sidhu et al in IEEE TSE 89 and TN 93
Figures from the papers.
![Page 2: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/2.jpg)
Basic Idea
• Given a protocol spec, how do you know if an implementation conforms to it (conformance testing)
• Use black-box testing methods – Give input, see if output is “right” per spec
• Need a formal specification
– What input / output pairs should be checked• Fault coverage • Automatic generation
![Page 3: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/3.jpg)
Mealy Machine
• Is an FSM that produces an output on each transition.
• Minimal – least number of states• Completely Specified – each state has a
transition for every input symbol• Strongly connected – if there is a
transition path for each state pair• Test subsequence, subsequence, test
sequence, optimized test sequence
![Page 4: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/4.jpg)
An Example Mealy Machine
![Page 5: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/5.jpg)
![Page 6: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/6.jpg)
Protocol Modelling
• Model protocol as Mealy Machine• Protocol specified state/input combinations
are core, others are noncore• Strong vs Weak Conformance
– Weak if similar behavior on core, unspeficied on noncore
• Analyze coverage via simulation using mutated machines– Showing that machines are equivalent ?
![Page 7: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/7.jpg)
Basic Test generation methods
• T-Method– Assume minimal, strongly connected, completely specified
machine– Generate random inputs till machine has traversed each
transition once, eliminate loops
• U-Method– Assume minimal, strongly connected, completely specified
machine– Derive Unique IO sequence for each state– For each transition (si,sj), reset, find shortest path from 0 to si,
add input to cause transition to sj, add UIO– Beta sequence is concatenation of each subsequence, create
optimized sequence.
![Page 8: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/8.jpg)
More test generation methods
• D-Method– Assume minimal, strongly connected, completely specified
machine with distinguishing sequence– Construct the same way as U method but replace UIO with DS
• W-Method– Assume minimal, strongly connected, completely specified
machine– Derive a Characterizing set W
• Set of input strings a s.t the last output symbol obtained by applying these strings in a fixed order is different for different states.
• Use these instead of UIOs
![Page 9: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/9.jpg)
![Page 10: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/10.jpg)
Testing issues
• Finding shortest test sequence to check a given set of behaviors– How long to give complete coverage ?– Can we create a hierarchy of sequences
• State cardinality may differ in spec and implementation – masking behavior is different
• Test subsequence to test (p,q) transition can be viewed as L1.L2…Lk.CS(q)
• Bk test subsequence has an L sequence of length k. B0 tests a state. Every Bk is proper subsequence of some Bk+1 if machine is complete.
• Reset and Bridge Sequences
![Page 11: Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers](https://reader036.vdocument.in/reader036/viewer/2022071806/56649dab5503460f94a9ac42/html5/thumbnails/11.jpg)