RealProct: Reliable Protocol Conformance Testing with Real Nodes for Wireless Sensor Networks Junjie Xiong 2011-11-15
Outline Motivation RealProct Design Evaluation Conclusion
Motivation Wireless sensor networks (WSNs) are vulnerable to software bugs. Simulation is different from real execution. Testbeds are designed for network performance evaluation rather than software bug detection. Large-scale real deployment is expensive. RealProct uses a small number of real sensor nodes to mimic large-scale WSNs and test the protocol against the specification.
Outline Motivation RealProct Design Evaluation Conclusion
Challenges Sensor nodes are resource-constrained devices. Sensor node is difficult to control than a computer. Volatile wireless environment in WSNs will result in random packet loss. How to test the protocol with various topologies and events when RealProct only employs a few real sensor nodes. Emphasis on my own work
Protocol Conformance Testing Process PCT process IUT (Implementation Under Test) Emphasis on my own work 6 6
RealProct Architecture Point of Control & Observation SUT (System Under Test) Upper Tester Lower Tester Emphasis on my own work 7 7
Topology Virtualization Emphasis on my own work 8 8
Event Virtualization Packet disorder Emphasis on my own work 9 9
Test Execution and Verdict Suppose packet loss probability is L0, a test case is executed n times, and it passes n1 times and fails n2 times. If n1 > n2, declare as pass, the false negative probability is Let the FN error rate be lower than Th, then the minimum n is Emphasis on my own work 10 10
Outline Motivation RealProct Design Evaluation Conclusion
Performance Evaluation Two real TelosB sensor nodes and a PC. Contiki 2.4: μIP TCP/IP protocol. Two new bugs and previous bug repetition. Bug 1 & 2 – Connect to opened & unopened TCP ports. Bug 3 – An SYN/ACK packet loss. Bug 4 – SYN packet duplication.
Performance Evaluation Bug 1 – Connect to opened TCP ports. Test opened port 0 & 80 (within 0 to 65535). TCP connection are from 0 to 65535: test opened port 0 & 80.
Performance Evaluation Bug 1 – Connect to opened TCP ports. Test opened port 0 & 80 (within 0 to 65535). TCP connection are from 0 to 65535: test opened port 0 & 80.
Performance Evaluation Bug 2 – Connect to unopened TCP ports.
Outline Motivation RealProct Design Evaluation Conclusion
Conclusion As a protocol testing tool, RealProct finds two new bugs, discovers all the previously detected bugs in the TCP/IP stack, and validates the Rime mesh routing protocol. Propose two techniques, topology virtualization and event virtualization, for testing. Design an algorithm to tackle the inaccuracy problem caused by non-deterministic events in test execution.
Q & A Thank you!