Efficient Correctness Testing of Linux Network Stack under Packet Dynamics

Efficient Correctness Testing of Linux Network Stack under Packet Dynamics
复制标题

DOI:
10.1109/icc40277.2020.9149060
复制
发表时间:
2020-06
期刊:
ICC 2020 - 2020 IEEE International Conference on Communications (ICC)
影响因子:
--
通讯作者:
Minh Vu;Phuong Ha;Lisong Xu
Minh Vu;Phuong Ha;Lisong Xu
中科院分区:
其他
文献类型:
--
作者:
Minh Vu;Phuong Ha;Lisong Xu

文献摘要

相似文献

由于大量的数据包动态可能性,网络协议的正确性测试具有挑战性。网络模拟器是网络协议性能评估的常用工具,但无法有效地测试不同包动态下协议的正确性。随机测试和符号执行是两种有效的自动化正确性测试技术,可以探索不同的程序执行可能性。随机测试在检查典型案例时简单且可扩展,但通常会遗漏概率较低的角落。符号执行在探索这些极端情况时更有效,但存在可扩展性问题。在本文中,我们提出了一个测试平台上建立的网络模拟器,通过实现符号执行和随机测试相结合,以减轻其局限性。然后,我们评估了不同的技术在测试Linux网络堆栈下的包动态的多种可能性的效率。
Network protocols are challenging to test for correctness due to the huge number of packet dynamics possibilities. Network simulators are popular in evaluating the performance of network protocols but unable to test the correctness under different packet dynamics efficiently. Random testing and symbolic execution are two effective automated correctness testing techniques that can explore different program execution possibilities. Random testing is simple and scalable in checking typical cases but often misses corner ones with low probabilities. Symbolic execution is more efficient in exploring these corner cases but suffers from the scalability problem. In this paper, we propose a testing platform built upon a network simulator by implementing a combination of symbolic execution and random testing to mitigate their limitations. Then we evaluate the efficiency of different techniques in testing Linux network stack under multiple possibilities of packet dynamics.